gpt4 book ai didi

c - 计算机中的整数表示 - C

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

C 是否定义了整数的二进制表示,例如一个,两个的补码...或者是这个表示处理器(计算机或其他)依赖?

用 C 编写的代码示例:

short a = -5;

我需要在哪里查看才能知道 a 是二进制补码 1111 1111 1111 1011 还是有符号位表示 1000 0000 0000 0101?

最佳答案

C 支持以下三种有符号整数的表示形式:

  • 2 的补码(最常见,你在实践中不太可能看到其他人)
  • 1的补码
  • 符号和大小

C 还允许在表示中有一些填充(非值)位,这在实践中也是非常不常见的。

C 没有定义整数是否应该以大端或小端或其他字节顺序存储在内存中。

如果您想了解整数在特定平台上的精确表示方式,您需要分析底层内存。此外,如果 -INT_MAX == INT_MIN + 1,则您有一个 2 的补码表示,否则不确定它是三个中的哪一个。

我认为现在可以安全地假设没有填充位并且表示是 2 的补码。

关于c - 计算机中的整数表示 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087621/

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