在C语言中如果用两个字节存储非负整数+可以表示的数值范围
1个回答
关注
展开全部
咨询记录 · 回答于2024-01-14
在C语言中如果用两个字节存储非负整数+可以表示的数值范围
亲,你好,
在C语言中,如果用两个字节来存储非负整数,那么可以表示的数值范围是:
1个字节是8位,每位可以用0、1表示,所以,2个字节16位的整型数,最大可以表示的数字是:2的16次方 = 65536
所以,无符号整型的取值范围是 0 - 65536。
如果是有符号整数,由于要加个符号位,所以,取值范围:2的15次方 = (+-)32768。
又由于,二进制的第一位是用来表示正负号的,0表示正,1表示负。这里有一个问题:0本来既不是正数,也不是负数,但它占用了0000(十六进制0)的位置,因此有符号的整数类型范围中正数个数比负数少一个。
所以,带符号符号整型的取值范围是 -32768 - 32767。