八位和十六位二进制数的原码,补码和反码可表示的数的范围是多少

2024-10-31 08:15:42
推荐回答(2个)
回答1:

8位原码表示范围:-127~-0,+0~+127
8位反码表示范围:-127~-0,+0~+127
8位补码表示范围:-128~0~+127
--------------

16位原码表示范围:-32767~-0,+0~+32767
16位反码表示范围:-32767~-0,+0~+32767
16位补码表示范围:-32768~0~+32767

由于原码和反码的编码规则,导致了+0和-0这样的“怪异值”,而补码没有这个现象。这是补码在计算机中广泛应用的原因之一!

回答2:

8位:正数:原码:00000000-01111111
反码:00000000-01111111
补码:00000000-01111111
正数的话,原码反码补码一样
8位:负数:原码:00000000-01111111
反码:10000000-11111111
补码:00000001-(1)00000000
负数补码看标志位,原码取反+1,最高标志位进1
16位的和8位一样 楼主自己写吧