关于C语言中,short int 的问题。
关于C语言中,short int 的问题。
日期:2021-05-29 04:53:04 人气:1
首先你定义的a是个占2个字节的有符号数 在计算机里是以16位2进制数存储的最高位为符号位
所以它可以表示的数范围为-32678~32767
所以对于short int a来说32767就是它的最大值
32767就是0111 1111 1111 1111它最高位是0 表示正的,
当a=32767,b=a+1时0111 1111 1111 1111+1出现了溢出的情况得到1000 0000 0000 0000即-32768 (在2进制中 -1的原码是1
所以它可以表示的数范围为-32678~32767
所以对于short int a来说32767就是它的最大值
32767就是0111 1111 1111 1111它最高位是0 表示正的,
当a=32767,b=a+1时0111 1111 1111 1111+1出现了溢出的情况得到1000 0000 0000 0000即-32768 (在2进制中 -1的原码是1