我是靠谱客的博主 诚心世界,最近开发中收集的这篇文章主要介绍码制(原码、反码、补码、移码),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

码制(原码、反码、补码、移码)

1.原码即将数值直接转换为二进制数,首位为符号位(0表示正数,1表示负数)
例如:若机器字长n为8
则+1=0 0000001 -1=1 0000001
+127=0 1111111 -127=1 1111111
数值0的原码有两种形式:
+0=0 0000000 -0=1 0000000
2.反码
正数的反码与其原码相同!
负数的反码:在原码的基础上,除符号位不变,其余各位取反(即0变1,1变0)
例如:-1=1 1111110
-127=1 0000000
-45=1 1010010
数值0的反码有两种:
+0=0 0000000 -0=1 1111111
3.补码
正数的补码与其原码相同!
负数的补码:等于其反码的末位加1(即-1的反码为1 1111110,末位加1则变为1 1111111)
例如:-127=1 0000001
-45=1 1010011
数值0的补码有唯一形式:
+0=-0=0 0000000
移码
移码是在数x上增加一个偏移量来定义,如果机器字长为n,规定的偏移量为2^n-1(即2的n-1次方)
例如机器字长为8,则偏移量为2^7,相当于给数x按位相加1 0000000
实际上,在偏移量为2^n-1的情况下,只要将补码的符号位取反便可得到相应的移码
例如:
+1=1 0000001 -1=0 1111111
+127=1 1111111 -127=0 0000001
+45=1 0101101 -45=0 1010011
数值0的移码有唯一形式:
+0=1 0000000 -0=1 0000000

最后

以上就是诚心世界为你收集整理的码制(原码、反码、补码、移码)的全部内容,希望文章能够帮你解决码制(原码、反码、补码、移码)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部