gpt4 book ai didi

c++ - 编译器和负数表示

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:22:41 26 4
gpt4 key购买 nike

最近被this question搞糊涂了.可能是因为我没有阅读语言规范(我知道这是我的错)。

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

所以这是我的问题:你知道任何现代编译器默认实现一个补码或符号幅度表示吗?我们可以使用一些编译器标志更改默认表示吗?

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

那么 C++ 标准呢?

最佳答案

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

IP 协议(protocol)套件中的一些校验和字段使用一个的补码,因此也许专用的“网络加速器”类型的 CPU:s 实现它。

关于c++ - 编译器和负数表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/704908/

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