C语言中整型的问题.问①:“long 4字节(32位)取值范围-2的31次方~(2的31次方-1)”中,为什么要-2的“
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 05:58:26
C语言中整型的问题.
问①:“long 4字节(32位)取值范围-2的31次方~(2的31次方-1)”中,
为什么要-2的“31”次方,而不是“32”次方呢?
问②,“unsigned long 4字节(32位)取值范围0~(2的32次方-1)”中,
为什么要2的“32”次方,而不是“31”次方呢?
①:“long 4字节(32位)取值范围-2的31次方~(2的31次方-1)”中,为什么要-2的“31”次方,而不是“32”次方呢?
答:因为负数的最高位是符号位,所以在计算范围的时候要将符号位去掉.所以负数据的取值是-2的31次方.
问②,“unsigned long 4字节(32位)取值范围0~(2的32次方-1)”中,为什么要2的“32”次方,而不是“31”次方呢?
答: 无符号整型是没有符号位的,但也不能表示负数,因为最高位的符号位只能表示数字,这样我们在计算范围时步需要考虑符号位.
但为什么是2的32资方-1而不是2的32资方呢.因为在计算无符号的范围时我们要将0这一个数据去掉,因为0是没意思的一个数,所以需要去掉. 其实你可以想像,为什么我们在建立数组时,定义的是10,但数据下标是从0开始,所以在实际运用数组时,数组的最大下标只能标识为9(即10-1),正是因为要将0去掉,所以在计算类型表示范围时也要将0去掉,这就需要-1.
答:因为负数的最高位是符号位,所以在计算范围的时候要将符号位去掉.所以负数据的取值是-2的31次方.
问②,“unsigned long 4字节(32位)取值范围0~(2的32次方-1)”中,为什么要2的“32”次方,而不是“31”次方呢?
答: 无符号整型是没有符号位的,但也不能表示负数,因为最高位的符号位只能表示数字,这样我们在计算范围时步需要考虑符号位.
但为什么是2的32资方-1而不是2的32资方呢.因为在计算无符号的范围时我们要将0这一个数据去掉,因为0是没意思的一个数,所以需要去掉. 其实你可以想像,为什么我们在建立数组时,定义的是10,但数据下标是从0开始,所以在实际运用数组时,数组的最大下标只能标识为9(即10-1),正是因为要将0去掉,所以在计算类型表示范围时也要将0去掉,这就需要-1.
C语言中整型的问题.问①:“long 4字节(32位)取值范围-2的31次方~(2的31次方-1)”中,为什么要-2的“
在c语言中,比如存放2个字节的整型,最大数为2的15次方减1,为什么要减一?
在32位字长的计算机中,int类型的数据是4个字节,它的数值范围是(-2的31次方)到(2的31次方-1),为何?
请问为什么说32位或64位地址的计算机中,有2的32次方或2的64次方字节的地址空间?
为什么有符号数(4个字节的)的取值范围是 负的2的n次方到 正的2的n次方减1
C语言中为什么2的4次方加上二的0次方等于17?
C语言(有图),为什么7-8位的有效数字的取值范围能达到10的38次方那么多;另外
在C语言一个int型数据在内存占2个字节,则int型数据的取值范围.2的八次方等于32768?能马上解释我立即采
c语言中,n的1/2次方怎么表示?
1字节是2的多少次方?即多少字节?1M字节是2的多少次方?
函数y等于(2x-1)的0次方加3x方加2x的-1次方中自变量x的取值范围
函数y=(2x+1)的0次方-3(x-2)的负1次方中,x得取值范围是?