编译器和负数表示

2024-01-10

最近我很困惑这个问题 https://stackoverflow.com/questions/700410/subtraction-without-minus-sign/700487#700487。也许是因为我没有阅读语言规范(我知道这是我的错)。

C99 标准没有规定编译器应使用哪种负数表示形式。我一直认为存储负数的唯一正确方法是二进制补码(在大多数情况下)。

所以这是我的问题:你知道现在有哪个编译器默认实现补码或符号数值表示吗?我们可以使用一些编译器标志更改默认表示吗?

确定使用哪种表示的最简单方法是什么?

那么 C++ 标准呢?


我认为这并不是编译器使用什么表示的问题,而是底层机器使用什么表示的问题。编译器会非常愚蠢地选择目标机器不支持的表示,因为这会带来大量的开销而没有任何好处。

IP协议族中的一些校验和字段使用补码,因此也许专用的“网络加速器”型CPU来实现它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编译器和负数表示 的相关文章

  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 为什么在 C++ 中声明枚举时使用 typedef?

    我已经很多年没有写过任何 C 了 现在我正试图重新开始 然后我遇到了这个并考虑放弃 typedef enum TokenType blah1 0x00000000 blah2 0X01000000 blah3 0X02000000 Toke
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 如何查明 .exe 是否正在 C++ 中运行?

    给定进程名称 例如 程序 exe C 标准库没有这样的支持 您需要一个操作系统 API 来执行此操作 如果这是 Windows 那么您将使用 CreateToolhelp32Snapshot 然后使用 Process32First 和 Pr
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • 虚拟并行端口模拟器

    在我的计算机网络课程中 我们应该通过使用本机寄存器 例如使用 outportb 等命令 来学习并行端口编程 我没有并行端口 因为我住在 2011 年 但想练习这些程序 我使用 dosbox 安装了旧的 Turboc 3 IDE 有没有一个程
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • 名称查找、实例化点 (POI) 和基本类型

    以下代码针对 X 进行编译 但不适用于 double struct X void foo double void foo X namespace NN struct A void foo A foo double error foo not
  • 检测 TextBox 中的 Tab 键按下

    I am trying to detect the Tab key press in a TextBox I know that the Tab key does not trigger the KeyDown KeyUp or the K
  • 选择 asp.net CheckBoxList 中的所有项目

    ASP NET 和 C 我想要一个带有 全选 项目的复选框列表 当这个特定项目是 已选择 所有其他都将被选择 也 当选择被删除时 这个项目 也将来自所有人 其他物品 选中 取消选中 任何其他项目只会有一个 对特定项目的影响 无论选择状态如何
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • 对多个对象使用事件处理程序

    我有 20 件物品List
  • Unity,c++ 本机插件字节数组不匹配

    在我的 C 本机插件中 我有一个调用 vector
  • 是否可以使用 Dapper 流式传输大型 SQL Server 数据库结果集?

    我需要从数据库返回大约 500K 行 请不要问为什么 然后 我需要将这些结果保存为 XML 更紧急 并将该文件通过 ftp 传输到某个神奇的地方 我还需要转换结果集中的每一行 现在 这就是我正在做的事情 TOP 100结果 使用 Dappe

随机推荐

  • 在 wp7 中,如何在不使用启动器和选择器的情况下撰写消息?

    我使用 SmsComposeTask 在 wp7 中撰写短信 但在我的应用程序中 我想直接发送消息而不使用 SmsComposeTask 所以请告诉我如何在不使用 SmsComposeTask 的情况下发送短信 你不能 这就是SmsComp
  • 实体框架与 LINQ to SQL [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 现在 NET v3 5 SP1 已经发布 与 VS2008 SP1 一起 我们现在可以访问 NET 实体框架 我的问题是这样的 当尝试决定使用实
  • 使用 AES 在 C# 中进行文件加密,使用 phpseclib 进行解密

    我正在开发一个安全文件传输项目 该项目在客户端使用 C 客户端对文件进行加密 我需要使用 php 或者 phpseclib 在服务器端解密文件 这里的代码是我从 msdn 示例中复制的 但我无法计算出 php 中的解密函数 public s
  • CountDiv (Codility) 挑战算法的性能问题

    需要一些关于我为解决这个 codility 挑战而制定的算法的帮助 编写一个函数 给定三个整数 A B 和 K 返回 A B 范围内可被 K 整除的整数个数 例如 对于 A 6 B 11 和 K 2 您的函数应返回 3 因为在范围 6 11
  • 如何使用结构指令更改边框?

    我正在尝试创建一个可以做两件事的角度指令 1 change border of the host element 2 append a button at the end of the host element 截至目前 我已经迈出了第一步
  • 无法使用在线签名模式创建信封

    我正在尝试创建一个信封并使用在线模式对其进行签名 首先 我登录了我的帐户 IBAction private func signDocument sender UIButton guard let hostURL URL string Env
  • 如何创建一个返回 const 值的工厂构造函数

    是否有可能返回 as const 的不同实现 abstract class Foo
  • 玩笑安全cookies?

    My Jest https facebook github io jest 测试设置为在 CI 上运行时模拟我的后端响应 但环境变量允许它们在本地针对真实后端运行 问题是我们现在已经将身份验证切换为使用安全的 仅限 http 的 cooki
  • 如何使用Python默认浏览器打开和关闭网站

    我正在尝试在Windows平台上编写一个Python脚本来打开一个网页 例如Google 然后在10秒后关闭该网站 注意 我使用的是 Windows 7 Python 2 7 10 和 IE 您可以使用Python内置的webbrowser
  • 工具栏上均匀分布的菜单项

    所以我一直在尝试实施android support v7 widget Toolbar在我的 Activity 中 并使其看起来类似于以前支持的拆分 ActionBar 这是我的工具栏的 XML
  • java SAXParser 忽略异常并继续解析

    我有一个 java 类 它解析 xml 文件 并将其内容写入 MySQL 一切正常 但问题是当 xml 文件包含无效的 unicode 字符时 会引发异常并且程序停止解析文件 我的提供商每天发送这个 xml 文件 其中包含产品列表及其价格
  • Java String.valueOf(jsonArray) 将 jsonArray 中的 UTF-8 编码内容变成问号

    我有这个 json 数组 JSONArray 类型 其中包含 utf 8 编码的字符串 success true data moduleTitle title status 200 然后我想获取它的字符串值 String s String
  • 无法让 GoogleMap OnMarkerClickListener 工作

    使用 V2 地图 一切基本正常 包括添加标记 但是 我需要在点击标记时采取行动 因此我安装了一个处理程序 thisMap setOnMarkerClickListener new GoogleMap OnMarkerClickListene
  • 如何为 Blogger 添加国际化支持?

    如何为 Blogger 添加国际化支持 是否可以在一个博客中处理多种语言 是否可以添加自己的翻译而不使用谷歌翻译小部件 http translate google com translate tools Thanks 这些应该设置在博客的
  • 如何从元组列表中删除项目? [复制]

    这个问题在这里已经有答案了 我想使用索引列表从元组列表中删除项目 mytupList 1 2 2 3 5 6 8 9 indxList 1 3 我尝试过像这样使用 numpy newtupList numpy delete mytupLis
  • Excel VBA 类似运算符 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Excel VBA 搜索另一个字符串中的子字符串 如下所示 Dim pos As Integer pos InStr I am
  • RestAssuredMockMvc 连接到 http://localhost:8080 被拒绝

    我使用 REST 方法开发了一个 Spring MVC Web 应用程序 我很想使用 RestAssured 创建 JUnit 测试类 从文档来看 它看起来非常简单 但我遇到了一些问题 基本上我想用它来避免运行时 Tomcat 实例 但问题
  • 如何测试当前是否正在播放声音?

    我一直在努力掩盖
  • 如何使用 ionic 框架在 IOS 上获取 IMEI

    如何使用 ionic 框架在 IOS 上获取 IMEI 您可以使用 设备 对象Cordova http cordova apache org docs en 2 5 0 cordova device device md html 设备对象描
  • 编译器和负数表示

    最近我很困惑这个问题 https stackoverflow com questions 700410 subtraction without minus sign 700487 700487 也许是因为我没有阅读语言规范 我知道这是我的错