无符号整数?无符号16位整型范围
一、16位无符号整数是什么意思
16位无符号整数值得是用16个2进制位来表示的整数,没有表示正负符号的位数。由于2进制数字只有0和1两个,因此,16位无符号可以表示的最大值是:
1111111111111111(16个1)
根据2进制计算规则可得:
1111111111111111=10000000000000000-1
而2进制10000000000000000的10进制是2的16次方
因此,16位无符号整数能表示的最大值是:2的16次方-1=65535,最小值当然是0
二、16位整数和16位无符号的区别
16位无符号二进制数表示范围为0~65535(十进制),而16位有符号二进制数表示范围为-32768~32767(十进制)。
无符号二进制数所有位都为数值位,所以不考虑正负。16位二进制一共能表示2^16个数,也就是65536个数,最小为0000000000000000,最大为1111111111111111,即0~65535。
有符号二进制数第一位为符号位,0表示正,1表示负,其余所有位为数值位。下面分为原码、反码、补码进行讨论:
1、原码情况下,16位二进制数最小为1111111111111111,最大为0111111111111111,即-32767到32767。
2、反码情况下,由于反码只是原码数值位按位取反,符号位不变,所以实际表示范围并不会产生改变。
3、补码情况下,由于0的补码是唯一的,即0000000000000000,因此1000000000000000,表示的并非为0,而是-32768。所以补码情况下,16位二进制数最小为1000000000000000,最大为0111111111111111,即-32768~32767。
综上,16位无符号二进制数表示范围为0~65535,而16位有符号二进制数表示范围为-32768~32767(补码情况下)。
扩展资料
原码:在数值前直接加一位符号位的表示方法。
反码:正数的反码与原码相同。负数的反码,符号位为“1”,数值部分按位取反。例如原码1110的反码为1001。
补码:正数的补码和原码相同。负数的补码则是符号位为“1”,数值部分按位取反后再在末位加1。也就是反码加1。例如原码1110的补码为1010。
三、什么是无符号数
无符号数是针对二进制来讲的,无符号数的表数
无符号数只有正数,没有负数,所以比如一个16位元可以储存的最大正数是2的16次方也就是65536。而有符号数,因为要兼容负数的可能性,就要牺牲一个位元来做符号表明。所以一个有符号数的最大正数就是2的(16-1次方)再减掉1,也就是32767了,而最大的负数也就是-32767了。比如一个2进位8位元的符号11111111,在有符号数代表-127,而在无符号数代表256,而01111111在有符号数和无符号数都是代表127,当01111111加上了1就变成了100000000,而这个数在有符号数代表-0,而在无符号数代表128