简述原码、反码和补码

        本篇文章是我关于原码、反码和补码的一些浅见,可能有部分知识点没有理清,如有不恰当描述,可以一起谈论。        

        先介绍下真值的概念,真值一般是我们人类的数字的表现形式,比如+1、-1等。

        机器数是什么呢?从计算机的角度来看,机器数是一个数的自带符号位的二进制的表现形式。比如真值是+1,机器数就是0000 0001,最高位为符号位,0表示正,1表示负。同理真值为-1,机器数为1000 0001.

        原码、反码和补码是计算机存储数据的表现形式。

        原码是我们易于理解的十进制数转化为自带符号位的二进制数后的表现形式。

        例如:+1(真值) = 0000 0001(原码);-1(真值) = 1000 0001(原码);

        原码是真值进行二进制转化一次而来的,也比较容易反推真值。

        反码是在原码的基础上将符号位之外的机器数按位取反的值,其中正数的反码值还是与其原码值一样不变,负数的反码形式是在原码的基础上将符号位之外的机器数按位取反的值。

        例如:+1(真值) = 0000 0001(原码) = 0000 0001(反码);

        -1(真值) = 1000 0001(原码) = 1111 1110(反码);

        补码是在原码转换为反码后加1,其中正数的补码值也跟其原码和反码一样不变,负数的补码形式为原码转换为反码后加1。

        例如:+1(真值) = 0000 0001(原码) = 0000 00

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值