⑴ 数字电路中的原码、反码、补码怎么求简单负数怎么转换数制
在计算机内,定点数有3种表示法:原码、反码和补码
所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。
1、原码、反码和补码的表示方法
(1) 原码:在数值前直接加一符号位的表示法。
例如: 符号位 数值位
[+7]原= 0 0000111 B
[-7]原= 1 0000111 B
注意:a. 数0的原码有两种形式:
[+0]原=00000000B [-0]原=10000000B
b. 8位二进制原码的表示范围:-127~+127
(2)反码:
正数:正数的反码与原码相同。
负数:负数的反码,符号位为“1”,数值部分按位取反。
例如: 符号位 数值位
[+7]反= 0 0000111 B
[-7]反= 1 1111000 B
注意:a. 数0的反码也有两种形式,即
[+0]反=00000000B
[- 0]反=11111111B
b. 8位二进制反码的表示范围:-127~+127
(3)补码的表示方法
1)模的概念:把一个计量单位称之为模或模数。例如,时钟是以12进制进行计数循环的,即以12为模。在时钟上,时针加上(正拨)12的整数位或减去(反拨)12的整数位,时针的位置不变。14点钟在舍去模12后,成为(下午)2点钟(14=14-12=2)。从0点出发逆时针拨10格即减去10小时,也可看成从0点出发顺时针拨2格(加上2小时),即2点(0-10=-10=-10+12=2)。因此,在模12的前提下,-10可映射为+2。由此可见,对于一个模数为12的循环系统来说,加2和减10的效果是一样的;因此,在以12为模的系统中,凡是减10的运算都可以用加2来代替,这就把减法问题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)。10和2对模12而言互为补数。
同理,计算机的运算部件与寄存器都有一定字长的限制(假设字长为8),因此它的运算也是一种模运算。当计数器计满8位也就是256个数后会产生溢出,又从头开始计数。产生溢出的量就是计数器的模,显然,8位二进制数,它的模数为28=256。在计算中,两个互补的数称为“补码”。
2)补码的表示:
正数:正数的补码和原码相同。
负数:负数的补码则是符号位为“1”,数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
例如: 符号位 数值位
[+7]补= 0 0000111 B
[-7]补= 1 1111001 B
补码在微型机中是一种重要的编码形式,请注意:
a. 采用补码后,可以方便地将减法运算转化成加法运算,运算过程得到简化。正数的补码即是它所表示的数的真值,而负数的补码的数值部份却不是它所表示的数的真值。采用补码进行运算,所得结果仍为补码。
b. 与原码、反码不同,数值0的补码只有一个,即 [0]补=00000000B。
c. 若字长为8位,则补码所表示的范围为-128~+127;进行补码运算时,应注意所得结果不应超过补码所能表示数的范围。
2.原码、反码和补码之间的转换
由于正数的原码、补码、反码表示方法均相同,不需转换。
在此,仅以负数情况分析。
(1) 已知原码,求补码。
例:已知某数X的原码为10110100B,试求X的补码和反码。
解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。
1 0 1 1 0 1 0 0 原码
1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反
1 +1
1 1 0 0 1 1 0 0 补码
故:[X]补=11001100B,[X]反=11001011B。
(2) 已知补码,求原码。
分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法。
例:已知某数X的补码11101110B,试求其原码。
解:由[X]补=11101110B知,
⑵ 判断题 2、二进制数的符号在数字电路中的表示方法有原码、反码和补码。
错误
⑶ 数字集成电路为什么要用反码输出
这是为了使用反演定律是的方便,再通过反相器将与运算转为或运算。
⑷ 数字电路补码与原码的转换原理
正数:原码、反码、补码一样
负数:原码就是原来的表示方法、反码是除符号位(最高位)外取反、补码=反码+1
对你的补充:
是整体加1,最高位是符号位,1为负数,0为正数
比如原码为10010
最高位是1,说明是负数,它的反码为11101(符号位不变,其他位取反),补码为11110
(反码+1)
⑸ 《数字电路与系统》 原码 反吗 补码 十进制数 互换算问题
正数的原码、反码、补码都相同,故(1)01010.10 01010.10
负数的反码等于补码加1
(2)原码=11001011
补码=10110100
反码=10110101
(3)同(1)正数的原码、反码、补码都相同
补码=010011.10
十进制=19.5
⑹ 原码反码转换器逻辑功能
摘要 数字电子技术基础是电子信息类、自动化类、计算机类、通信工程、测控技术与仪器等专业的一门很重要的专业基础课。主要内容有数字电路概述,逻辑代数基础,逻辑门电路,组合逻辑电路,触发器,时序逻辑电路,555定时器与脉冲产生电路,存储器与可编程逻辑器件,数/模和模/数转换器。
⑺ 原码 补码 反码 之间的问题
不对
都不知道几位的这题 能做得出来吗?
负数的 第一位是1 所以负数就是对应的正数的反码每一位都取反 再加1
正数的原码反码相同
⑻ C语言里从原码到反码与数字电路里从原码到反码的表示方法相不相同
必须相同的呀。在硬件上只是在加法器的外面加上了一个求补器,一样的原理。。
观楼主英俊潇洒,风流倜傥,必当世豪杰,大侠闲暇之余,关注0x30网络贴吧,必成千秋霸业,建不世之功。
⑼ 数字电路中为什么要学习原码,反码,补码
正数:原码、反码、补码一样
负数:原码就是原来的表示方法、反码是除符号位(最高位)外取反、补码=反码+1
对你的补充: 是整体加1,最高位是符号位,1为负数,0为正数
比如原码为10010 最高位是1,说明是负数,它的反码为11101(符号位不变,其他位取反),补码为11110 (反码+1)
⑽ 补码 原码 反码 之间的问题
兄弟,你不理解呀。
假设一个数,如:-01111111(7个1,1个0,还带一个符号) 那它的补码就是10000001(不带符号了,但是还是8位)。
-01111111这个数,你可以这样理解,前面的0是表示它是个正数,当前面有了一个负数时,自然它就变成1了,因为在计算机中表示符号的只有1和0。可能你把这个数的原码想成是101111111,这就成9位了,和原始值的8位就多了一位,而且计算机并不是这样表示的,当然溢出的时候可能会多出1位(假如允许的话),但这个是有意义的,而现在的“101111111”中的0则是无意义的,自然不是这样表示的,这是错的。
说说你的题目吧。
补码1.1000(记住,应该写成“1,1000”,并不是一个点。)的真值是:-0.1000
逗号前面是表示符号的,1表示这个数是负数,直接来个求补就是原码了:1,1000
接着,真值是原码改变符号即可:-0,1000
答案没有问题的,是对的。