找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

二进制补码及与原码的互相转换方法

查看数: 2946 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-9-19 22:31

正文摘要:

大沙把一些基础的知识说清楚,本文介绍二进制补码及与原码的转换方法。 先说原码,原码‌是一种计算机中对数字的二进制定点表示方法。在原码表示法中,数值前面增加了一位符号位,最高位为符号位,0表 ...

回复

ID:496636 发表于 2024-10-5 13:36
通俗的说一下吧,如果是二位十进制,你可以表示0-99之间的整数,如果想表示负数,那只能表示一半的整数和一半的负数了。差个负数的一对数,互补,意思是它们加起来为100,刚好溢出向第三位进位。
那么如果是一个字节,那么它们相加为256,如果二个字节相加为65536
然后我们简单用一字节来讨论,9用二进制来表示为0000  1001,把它各位取反则为1111 0110,这样加起来就是各位都是1,还得加上1才能向上进位,然后一字节的八位都是0,所以各位取反后还得加1后才是负数的反码。
ID:278457 发表于 2024-10-4 02:41
对的,谢谢学习到了。
ID:514317 发表于 2024-10-2 13:33
原码‌10001001---反面码11110110----补码11110111     应该是这个过程吧  
ID:1064915 发表于 2024-9-20 08:50
‌-9的8位二进制补码是11110111。‌‌

补码的计算过程
‌原码‌:正数的原码就是其本身,负数的原码是其绝对值的二进制表示。例如,9的原码是00001001,-9的原码是10001001。
‌反码‌:正数的反码与原码相同,负数的反码是其原码的每一位取反(0变1,1变0),符号位除外。例如,-9的反码是11110100。
‌补码‌:补码是反码加1。例如,-9的补码是11110100 + 1 = 11110101,但这是8位二进制表示的错误表示,实际正确的补码是11110111。
通过上述步骤,我们可以得到-9的8位二进制补码为11110111。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表