【超全解析】原码、反码、补码、移码的相互转化和解读(取值范围)

原码:取绝对值,符号位为0表示正,符号位为1表示负。

原码转反码: 正数不变, 负数除符号位全部取反。

举例:
原码:0000 0001  反码:0000 0001
原码:1000 0001  反码:1111 1110

原码转补码: 正数不变, 负数除符号位外全部取反+1。

举例:
原码:0000 0001  补码:0000 0001
原码:1000 0001  补码:1111 1111

移码:等于补码的符号(第一位数字)位取反。

举例:
原码:0000 0001  补码:0000 0001  移码:1000 0001
原码:1000 0001  补码:1111 1111  移码:0111 1111


总结:

正数的原码,补码,反码相同;

负数的反码:原码除符号位取反;

负数的补码:原码除符号位取反+1

负数的移码:补码符号位取反


== 已知补码求原码:==

若为正数,不变
若为负数,除符号位取反+1


取值范围
在这里插入图片描述
举例:
八位数。
原码范围:-129-127
反码范围:-129-127
补码范围:-128-127


日拱一卒,功不唐捐。

如果本文对你产生了些许帮助,不如点个赞在走叭~

猜你喜欢

转载自blog.csdn.net/weixin_43899069/article/details/109154401