2025-11-08 10:36:46
移码就是给数字加个固定值,方便计算机处理有符号数。比如15的移码,就是用二进制表示时把最低位往左挪15位,这样原来的正数会变负数,负数会变正数。比如8位二进制数,移码范围是-128到127,因为最高位1代表负数,0代表正数,中间7位能表示128种组合。
为什么这样设计呢?因为移码能统一表示正负数,不用考虑符号位的问题。比如16位移码,偏移量是32768(等于2的15次方),所以范围是-32768到32767。这样正数从1到32767,负数从-32768到-1,刚好覆盖所有16位有符号整数的可能值。比如数字5用移码表示是32773(5+32768),而-5是32763(-5+32768)。数据来源:计算机组成原理教材P78,移码计算公式为值=原数+2^(n-1),n是位数。
本题链接: