gpt4 book ai didi

c - 如何检测 C 中有符号整数的编码?

转载 作者:太空狗 更新时间:2023-10-29 16:33:36 25 4
gpt4 key购买 nike

ISO C 标准允许对有符号整数使用三种编码方法:二进制补码、一个补码和符号/大小。

在运行时(或其他时间,如果有更好的解决方案)检测编码的有效或好方法是什么?我想知道这一点,以便我可以针对不同的可能性优化 bignum 库。

我计划在每次程序运行时计算它并将其存储在一个变量中,这样它就不必非常快 - 我假设编码在程序运行期间不会改变:-)

最佳答案

你只需要用 -1 & 3 之类的东西检查常量 -1 的低位。这评估为

  1. 符号和大小,
  2. 对于一个人的补充和
  3. 二进制补码。

这甚至应该可以在 #if#else 结构中的预处理器表达式中完成。

关于c - 如何检测 C 中有符号整数的编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com