二进制数中,-128表示为1000 0000这只是人为定义的吗?
问题描述:
二进制数中,-128表示为1000 0000这只是人为定义的吗?
答
8位二进制补码是采用最高位来表示符号,低7位来表示数值大小的一种编码.8位二进制码有256种状态,可以表示256个数.如果表示范围是-127~+127的话,那就会存在两个0,就是+0和-0.而实际上,0是没有正负的,不需要有两个0.因此,就用+0(00000000)来表示0,而用-0(10000000)来表示-128,因为10000000b=128d,而恰好它的最高位即符号位=1表示负数.这是人为规定的,但这个规定与二进制补码规则不矛盾.