参考文献:深入理解计算机系统(第二章)
1:关于整数在计算机中的表示
如果一个数是无符号的,计算机在内部将把这个数表示成一个二进制向量
如果一个数是有符号的,计算机在内部将把这个数“用补码(Two's-complement)”表示成二进制向量。
(用补码的编码方式表示有符号数是大部分计算机使用的方式,还有些表示有符号数的方式有原码编码方式和反码编码方式)
说明:因为使用无符号数经常会带来一些错误,(如有符号和无符号的转换)。除了C语言外,很少有语言允许programmer使用无符号数(我的理解是,计算机本身还是支持无符号数的编码方式,但是一个编程语言的语法中就只能指定一个数是有符号数,因此指挥计算机对于每个数都用有符号数的编码方式(补码)进行编码)。