kle*_*lew 5 c c++ compiler-construction representation negative-number
最近我对这个问题很困惑.也许是因为我没有阅读语言规范(这是我的错,我知道).
C99标准没有说明编译器应该使用哪个负数表示.我一直认为存储负数的唯一正确方法是两个补码(在大多数情况下).
所以这是我的问题:您是否知道任何现在的编译器默认实现一个补码或符号幅度表示?我们可以用一些编译器标志更改默认表示吗?
确定使用哪种表示的最简单方法是什么?
那么C++标准呢?
我认为这不是编译器使用什么表示的问题,而是底层机器使用什么表示.选择目标机器不支持的表示形式的编译器非常愚蠢,因为这会引入大量开销而没有任何好处.
IP协议套件中的一些校验和字段使用一个补码,因此可能专用的"网络加速器"型CPU实现它.
| 归档时间: |
|
| 查看次数: |
1765 次 |
| 最近记录: |