有符号整型和无符号整型有什么区别

2023-12-06

有符号整型和无符号整型有什么区别?


您可能知道,ints 在内部以二进制形式存储。通常是一个int包含 32 位,但在某些环境中可能包含 16 或 64 位(甚至不同的数字,通常但不一定是 2 的幂)。

但对于这个例子,我们来看 4 位整数。虽然很小,但对于说明目的很有用。

由于这样的整数有 4 位,因此它可以采用 16 个值之一; 16 是 2 的四次方,即 2 乘以 2 乘以 2 乘以 2。这些值是多少?答案取决于这个整数是否是signed int or an unsigned int。与unsigned int,该值永远不会为负;没有与该值相关的符号。这是 4 位的 16 个可能值unsigned int:

bits  value
0000    0
0001    1
0010    2
0011    3
0100    4
0101    5
0110    6
0111    7
1000    8
1001    9
1010   10
1011   11
1100   12
1101   13
1110   14
1111   15

...这里是 4 位的 16 个可能的值signed int:

bits  value
0000    0
0001    1
0010    2
0011    3
0100    4
0101    5
0110    6
0111    7
1000   -8
1001   -7
1010   -6
1011   -5
1100   -4
1101   -3
1110   -2
1111   -1

正如你所看到的,对于signed int最高有效位是1当且仅当数字为负数时。这就是为什么,对于signed ints,该位称为“符号位”。

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

有符号整型和无符号整型有什么区别 的相关文章

随机推荐