编译器和负数表示

2024-01-10

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

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

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

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

那么 C++ 标准呢?


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

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

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

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

  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 在 OnModelCreating 期间设置列名称

    Issue 我目前正在尝试通过设置的属性为我的表及其列添加前缀 我正在使用实体框架核心 我已经正确地为表名添加了前缀 但我似乎无法弄清楚列的前缀 我有一种感觉 我需要使用反射 我已经留下了我的 可能很糟糕的 反思尝试 有人有办法在实体中设置
  • C++ 长 switch 语句还是用地图查找?

    在我的 C 应用程序中 我有一些值充当代表其他值的代码 为了翻译代码 我一直在争论使用 switch 语句还是 stl 映射 开关看起来像这样 int code int value switch code case 1 value 10 b
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • 一元 +/- 运算符如何可能导致“-a”或“+a”中的整数提升,“a”是算术数据类型常量/变量?

    这句看似微不足道的台词摘自我的迈克 巴纳汉和布雷迪的 C 书 第 2 8 8 2 节 http publications gbdirect co uk c book chapter2 expressions and arithmetic h
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • 为什么 VC++ 编译器 MOV+PUSH args 而不是仅仅 PUSH 它们? x86

    在 VC 的反汇编中 正在进行函数调用 编译器在压入本地指针之前将其 MOV 到寄存器 memcpy nodeNewLocation pNode sizeCurrentNode 0041A5DA 8B 45 F8 mov eax dword
  • 将接口转换为其具体实现对象,反之亦然?

    在 C 中 当我有一个接口和几个具体实现时 我可以将接口强制转换为具体类型 还是将具体类型强制转换为接口 这种情况下的规则是什么 Java 和 C 中都允许这两个方向 向下转型需要显式转型 如果对象类型不正确 可能会抛出异常 然而 向上转换
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 从BackgroundWorker线程更新图像UI属性

    在我正在编写的 WPF 应用程序中 我有一个 TransformedBitmap 属性 该属性绑定到 UI 上的 Image 对象 每当我更改此属性时 图像就会更新 因此显示在屏幕上的图像也会更新 为了防止在检索下一张图像时 UI 冻结或变
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 在 C#.NET 中安全删除文件

    在我正在做的一个项目中 我想为用户提供 安全 删除文件的选项 例如 用随机位或 0 覆盖它 在 C NET 中是否有一种简单的方法可以做到这一点 效果如何 你可以调用系统内部删除 http technet microsoft com en
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • 来自 3rd 方库的链接器错误 LNK2019

    我正在将旧的 vc 6 0 应用程序移植到 vs2005 我收到以下链接器错误 我花了几天时间试图找到解决方案 错误LNK2019 无法解析的外部符号 imp 创建AwnService 52 在函数 public int thiscall

随机推荐

  • 在 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 也许是因为我没有阅读语言规范 我知道这是我的错