多语言展示
当前在线:683今日阅读:197今日分享:19

16位二进制数表示的范围有符号与无符号的区别

16位无符号二进制数表示范围为0~65535(十进制),而16位有符号二进制数表示范围为-32768~32767(十进制)。无符号二进制数所有位都为数值位,所以不考虑正负。16位二进制一共能表示2^16个数,也就是65536个数,最小为0000 0000 0000 0000,最大为1111 1111 1111 1111,即0~65535。有符号二进制数第一位为符号位,0表示正,1表示负,其余所有位为数值位。下面分为原码、反码、补码进行讨论:1、原码情况下,16位二进制数最小为1111 1111 1111 1111,最大为0111 1111 1111 1111,即-32767到32767。2、反码情况下,由于反码只是原码数值位按位取反,符号位不变,所以实际表示范围并不会产生改变。3、补码情况下,由于0的补码是唯一的,即0000 0000 0000 0000,因此1000 0000 0000 0000,表示的并非为0,而是-32768。所以补码情况下,16位二进制数最小为1000 0000 0000 0000,最大为0111 1111 1111 1111,即-32768~32767。综上,16位无符号二进制数表示范围为0~65535,而16位有符号二进制数表示范围为-32768~32767(补码情况下)。扩展资料原码:在数值前直接加一位符号位的表示方法。反码:正数的反码与原码相同。负数的反码,符号位为“1”,数值部分按位取反。例如原码1110的反码为1001。补码:正数的补码和原码相同。负数的补码则是符号位为“1”,数值部分按位取反后再在末位加1。也就是反码加1。例如原码1110的补码为1010。参考资料来源:-二进制补码
推荐信息