1、反码:
一个数如果是正,则它的反码与原码相同;
一个数如果是负,则符号位为1,其余各位是对原码取反;
为了简单起见,我们用1个字节表示一个整数:
+7的原码为:00000111
+7的反码为:00000111
-7的反码为:11111000
2、补码:利用溢出,我们可以将减法变成加法
对于十进制数,从9得到5可用减法:
9-4=5 因为4+6=10,我们可以将6作为4的补数
改写为加法:
9+6=15(去掉高位1,也就是减10)得到5.
对于十六进制数,从c到5可用减法:
c-7=5 因为7+9=16 将9作为7的补数
改写为加法:
c+9=15(去掉高位1,也就是减16)得到5.
在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为(100000000),进位1被丢弃。
⑴一个数为正,则它的原码、反码、补码相同
⑵一个数为负,刚符号位为1,其余各位是对原码取反,然后整个数加1
符号位
+7的补码为 00000111
-7的补码为 11111000
+1
11111001
+0的补码为 00000000
-0的补码为 11111111
+1
100000000(舍掉打头的1)
例题:已知一个负数的补友,将其转换为十进制数
步骤:⑴先对各位取反
⑵将其转换为十进制数
⑶加上负号,再减去1
分享到:
相关推荐
c++ 计算机底层 原码反码补码的练习题,包括答案
程序可将不限定位数的原码转成补码和反码,将反码转换成原码和补码,将补码转换成原码和反码,程序基于.NET 4.0,使用VS2012开发工具编写。
原码反码补码讲课.pptx
计算机中的原码、反码和补码的详细解释。。。。
/* *功能实现任意二进制数的原码 反码 补码转换 *仅仅是字符串的操作,没有进行数字操作 *对-0的操作可能有问题 *ssfshine@gmail.com */
16进制(4位)到二进制原码、反码、补码计算
原码反码补码图解.原码反码补码图解.原码反码补码图解.
原码反码补码PPT学习教案.pptx
数字的原码、反码和补码
利用C++的MFC实现原码、补码、反码的转换
原码、反码、补码、移码与浮点.doc
原码、反码、补码
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法.
原码反码和补码PPT学习教案.pptx
原码、反码、补码 的相关原理 原码、反码、补码 的相关原理
讲说原码 补码以及反码的基本知识,需要时可以看一看。
学习原码, 反码和补码之前, 需要先了解机器数和真值的概念
原码、反码、补码,计算机中负数的表示.pdf
原码 (1) 原码:在数值前直接加一符号位的表示法。 例如: 符号位 数值位 byte的取值范围 [+7]原= 0 0000111 B [-7]原= 1 0000111 B 注意: byte的取值范围是-2^7~ 2^7-1 总计256个数 即: 无符号位 0~255 (因为...
原码、反码、补码小程序的设计与实现.pdf