C语言中short整型数据的范围-32768----32767是中的-32768是如何确定的
谢谢!但我想在问问,0~65535这里最大的数是65535,是2^16-1;但如果十六个数全是一呢?这样不是更大吗...
谢谢!但我想在问问,0 ~ 65535 这里最大 的数是65535,是2^16-1;但如果十六个数全是一呢?这样不是更大吗
展开
4个回答
展开全部
short 占用内存空间2个字节,也就是16个二进制位。
表示负数时,最高位为符号位(负数的符号位为1),最小的负数为1000 0000 0000 0000 ,但是在计算机中负数是用补码(符号位不变,其余位取反,然后加1)表示的,人们规定1000 0000 0000 0000的补码为-32768 ,所以在补码系统中最小的是-32768
表示正数时,最高位为符号位(正数的符号位为0),最大的正数为0111 1111 1111 1111 即2^15 - 1 = 32767
表示负数时,最高位为符号位(负数的符号位为1),最小的负数为1000 0000 0000 0000 ,但是在计算机中负数是用补码(符号位不变,其余位取反,然后加1)表示的,人们规定1000 0000 0000 0000的补码为-32768 ,所以在补码系统中最小的是-32768
表示正数时,最高位为符号位(正数的符号位为0),最大的正数为0111 1111 1111 1111 即2^15 - 1 = 32767
展开全部
short整形在32位PC上是2个字节表示的,每个字节是8个二进制比特,一共就是16个比特
16个比特,能表示的数的个数是 0 ~ 2^16-1,即0 ~ 65535共65536个,如果表示正负整数各一半,那就是负整数-32768 ~ -1,共32768个,0 一个,正整数 1 ~ 32767 共32767个,一共65536个。
不知道我说明白了没有。
16个比特,能表示的数的个数是 0 ~ 2^16-1,即0 ~ 65535共65536个,如果表示正负整数各一半,那就是负整数-32768 ~ -1,共32768个,0 一个,正整数 1 ~ 32767 共32767个,一共65536个。
不知道我说明白了没有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算机中间是用补码表示二进制数的,一个整形是两个字节,一个字节是八位二进制数,所以一个整形数是一个16位的二进制数,出去一个符号位,数值位是15位,而用补码的话,下限就是负的二的十五次方,上限就是2的十五次方减一
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
①short 占用内存空间2个字节,也就是16个二进制位
②每个二进制位仅能表示两种可能,2^16 = 65536 = 32767- (-32768) + 1
③类似的,unsigned char 能存储的是0~255范围 因为是一个字节空间。
②每个二进制位仅能表示两种可能,2^16 = 65536 = 32767- (-32768) + 1
③类似的,unsigned char 能存储的是0~255范围 因为是一个字节空间。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询