搜索
博主信息
博文 13
粉丝 0
评论 0
访问量 15508
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
原码、反码、补码、移码
so的博客
原创
2322人浏览过

原码:

如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示概数的绝对值。


例如: X=+101011 , [X]原= 00101011    X=-101011 , [X]原= 10101011 

位数不够的用0补全。


PS:正数的原、反、补码都一样:0的原码跟反码都有两个,因为这里0被分为+0和-0。


反码:

知道了什么是原码,那反码就更是张飞吃豆芽——小菜一碟了。知道了原码,那么你只需要具备区分0跟1的能力就可以轻松求出反码,为什么呢?因为反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。


例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100


补码:

补码也非常的简单就是在反码的基础上按照正常的加法运算加1。

例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101


符号位不变。其他的低位开始,直到遇见第一个1之前,什么都不变。遇见第一个1后保留这个1,以后按位取反。

例:[-7]原=1 0000 111B

       [-7]补=1 1111 001B

PS:0的补码是唯一的,如果机器字长为8那么[0]补=00000000。


移码:

移码最简单了,不管正负数,只要将其补码的符号位取反即可。


例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101,[X]移=01010101


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学