为什么int是从-32768到32767而不是从-32767到32767呢?
来源:百度知道 编辑:UC知道 时间:2024/05/14 01:02:01
计算机用二进制表示负数是用的“补码法”,做法是正数按原码,负数用其相反数的反码加一。
这种结果用-32768代替了“-0”,可以使符号位能与有效值部分一起参加运算,从而简化运算规则;同时使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。
举例:
3的码值是 00000011,-3则为:11111100+1= 11111101
32767的码值是01111111,11111111(15个1),-32767是
10000000,00000000+1=10000000,00000001
-32768是01111111,11111111+1=10000000,00000000
-32768~32767中包括0共65536个数正好是2^16
计算机是用2进制表示的所以int是从-32768到32767而不是从-32767到32767
2的n次方-1``````呵呵 总线大小有关``也就是和计算机硬件结构设计方面有关, 为什么是2就是因为计算机是以0,1为单位进行数据处理的
是规定呀,就是这么规定,如果真要问,那就要问开发者了
同意楼上,我也学会了
为什么int是从-32768到32767而不是从-32767到32767呢?
在C语言中为什么int型的取值范围是-32768~32767
C语言的int 为什么最小值是-32768
为什么getchar()的值是一个int?
C# 从键盘输入数字(int ,double ,.....)到一个变量中
C语言int 取最小值为什么是-32768而不能是-32769
int的范围是--32768 32767 是怎么算的呀?
java int到byte
Int(Rnd(0)*10)的值为什么是[0,9]
为什么 set_date (int _year,int _month,int _day)中间要加一横