请问若整型数据int占两字节,数据取值范围怎么算的?

正数的最大值32767会算,不过-32768是咋算的?请告诉我原码,反码,补码分别是啥。谢谢啊C语言。。。... 正数的最大值32767会算,不过-32768是咋算的?
请告诉我原码,反码,补码分别是啥。谢谢啊
C语言。。。
展开
 我来答
百度网友ca560fe
2019-10-17 · TA获得超过2.3万个赞
知道答主
回答量:70
采纳率:100%
帮助的人:2.9万
展开全部

1B(byte,字节)= 8 bit

2B(byte,字节)=16bit

16bit代表可以储存的最大数为2^16=65536

若不考虑符号问题,那么可以储存0-65536个数。

考虑符号问题,二进制第一位为符号位,则储存的最大数为2^15=32768

0不属于正数也不属于负数,所以有符号的情况下,储存的数字为-32768——+32767

扩展资料:

字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数。

ASCII码:一个英文字母(不分大小写)占一个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数。换算为十进制,最小值-128,最大值127。如一个ASCII码就是一个字节。

UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节。

Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。中文标点占两个字节,英文标点。

常用的单位换算:

1KB=1024B;1MB=1024KB=1024×1024B

1B(byte,字节)= 8 bit

1KB(Kilobyte,千字节)=1024B= 2^10 B

1MB(Megabyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B

1GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B

1TB(Terabyte,万亿字节,太字节)=1024GB= 2^40 B

参考资料来源:百度百科-字节

windblast
推荐于2017-11-25 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13620
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
1个字节是8位,每位可以用0、1表示,所以,2个字节16位的整型数,最大可以表示的数字是:

2的16次方 = 65536 所以,无符号整型的取值范围是 0 - 65536

如果是有符号整数,由于要加个符号位,所以,取值范围:

2的15次方 = (+-)32768

又由于,二进制的第一位是用来表示正负号的,0表示正,1表示负。这里有一个问题:0本来既不是正数,也不是负数,但它占用了0000(十六进制0)的位置,因此有符号的整数类型范围中正数个数比负数少一个。

所以,带符号符号整型的取值范围是 -32768 - 32767
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2022-01-20 · TA获得超过5246个赞
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:627万
展开全部

正负数,在计算机中,只是使用补码存放。

两字节,是 16 位二进制。

其代表的数字,共有 2^16 = 65536 个。

用其中的 1/2 代表负数,就是 32768 个负数。

那么,负数的范围,不就是从-1 到-32768 吗?

这就够了,不需要再做太多的推导。

------

正负数,在计算机中,只是使用补码存放。

如果从原码反码,来分析补码,这就困难了。

因为,原码和反码,最小,只能达到-32767。

根本就无法说明:补码最小是-32768。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丝语花香
2012-10-05 · TA获得超过173个赞
知道答主
回答量:69
采纳率:0%
帮助的人:28.4万
展开全部
原码是一个输的二进制码,
如果符号位(第一位)为0(即正数)则反码补码都相同
否则反码是除符号位一外的其余数都变成相反的数(即0→1或1→0)
补码实在反码的基础上加1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-01-05
引用windblast的回答:
1个字节是8位,每位可以用0、1表示,所以,2个字节16位的整型数,最大可以表示的数字是:

2的16次方 = 65536 所以,无符号整型的取值范围是 0 - 65536

如果是有符号整数,由于要加个符号位,所以,取值范围:

2的15次方 = (+-)32768

又由于,二进制的第一位是用来表示正负号的,0表示正,1表示负。这里有一个问题:0本来既不是正数,也不是负数,但它占用了0000(十六进制0)的位置,因此有符号的整数类型范围中正数个数比负数少一个。

所以,带符号符号整型的取值范围是 -32768 - 32767
展开全部
“2的16次方 = 65536 所以,无符号整型的取值范围是 0 - 65536”这句话错了 应该是2的16次方-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式