Ⅰ 4位补码可表示的整数的数值范围是怎么算的
4位补码可表示的整数的数值范围是十进制-8~7.
1000 → -8; 1001 → -7; 1010 → -6; 1011 → -5; 1100 → -4; 1101 → -3;
1110 → -2; 1111 → -1; 0000 → 0; 0001 → 1; 0010 → 2; 0011 → 3;
0100 → 4; 0101 → 5; 0110 → 6; 0111 → 7.
算法:正数的符号位是0,负数的符号位是1.正数的反码、补码与原码一样.负数的反码是让符号位不变,数据位按位取反;补码是将反码加1.
Ⅱ 什么叫做补码
补码,应该是最容易理解的知识了。
小学生都可以自己摸索出来。
按照四位二进制来说,共有 16 组代码。
数字 0 的二进制,就是 0000,
数字 1 的二进制,就是 0001,
。。。
数字 7 的二进制,就是 0111。
可见下表:
四位补码
总结:
零和正数的补码,就是数字本身(也可转为二进制)。
负数的补码,就是: 16+这个负数。
(如果是 8 位二进制,就改用: 256 + 这个负数。)
--------
整个推算过程,并不需要使用“原码反码符号位”这些垃圾。
计算时,使用十进制,简单方便。得出的补码,当然也是十进制。
如果需要二进制,就变换一下。
补码,很难吗?
如果不涉及原码反码符号位,就一点也不难。
-----------
补码有什么用呢?
利用补码,可以把减法运算,转换成加法。
(所以,在计算机中,有一个加法器,就够用了。)
例如:6-2 = 4,用补码运算如下:
6 的补码是 0110、-2 的补码是 1110。
0110 + 1110 = (1) 0100 (= 4 的补码)
(括号中的 1,是进位,舍弃不要了。)
注意:
如果运算结果超出了-8~+7 的范围,结果将是错的。
这种现象称为“溢出”。
再注意一下:进位,并不等于溢出。
---------
因为补码的这个特性,所以,在计算机中,只是使用补码存放数据。
而原码反码,在计算机中,都是不存在的。
原码反码 的用途,只是用于“笔算”。
其实,笔算的方法,并非只有“取反加一”。
原码反码,只是砖家为了增加收入,瞎编的垃圾而已。
所以,大家,完全不必在原码反码上浪费时间精力。
但是,考试怎么办?
呃 ...,千万别跟老师较劲,他怎么讲,你就怎么答吧。
Ⅲ 若一个4位补码由2个1和2个0组成,则可表示最小十进制整数为多少
最小为-6。
解析:既然最小,最高位符号位必然为1,设原码为1abc,则补码为:1a'b'c'+1,又因为数字要尽可能的小,所以原码次高位至少应该为1,即负数变得更小;则a’=0;
现假设b=1,则b'=0;c'+1必须为0,则发生了进位,补码变为1100,满足要求,且除了符号位的高位都为1,显然最小,即补码为1010,表示的最小数为1110,即-6。
计算机系统
在计算机系统中,数值一律用补码来表示和存储。使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
原码:在数值位前加一位符号位,即为原码。符号位0表示正数,1表示负数。
反码:原码的符号位不变,数值位按位取反即得到反码。
补码:正整数的补码与原码相同;负整数的补码,要将其原码除符号位外的所有位取反后加1,也就是反码加1。
Ⅳ 四位二进制补码所能表示的十进制整数范围是______至______
四位二进制补码所能表示的十进制整数范围是-8至7。
已知一个数的补码,求原码的操作其实就是对该补码再求补码。如果补码的符号位为“0”,表示是一个正数,其原码就是补码。即四位二进制补码0111 =四位二进制原码0111 = 1*2^2+1*2^1+1*2^0=十进制整数7。
如果补码的符号位为“1”,表示是一个负数,求给定的这个补码的补码就是要求的原码。即四位二进制补码1000符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。其余三位000取反后为111;再加1,所以是1000。负的四位二进制原码-(1000)=-( 1*2^3)=十进制整数-8。
(4)用四位存储一个正数的补码扩展阅读:
补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。
补码概念的引入和当时运算器设计的背景不无关系,从设计者角度,既要考虑表示的数的类型(小数、整数、实数和复数)、数值范围和精确度,又要考虑数据存储和处理所需要的硬件代价。因此,使用补码来表示机器数并得到广泛的应用。
Ⅳ 正数的补码是什么
正数的补码就是原码本身,负数的补码是其反码加1。
计算机中的有符号数有即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
补码:在反码的基础上加1,这样可以方便计算机进行计算,可以让“最高位符号位都能参与计算”。原码:字节的最高位为符号位,其余表示数值大小,最简单;反码:正数的反码和原码一样,负数的反码除最高位符号位外,其他位都取反。
补码
补码“模”概念的引入、负数补码的实质、以及补码和真值之间的关系所揭示的补码符号位所具有的数学特征,无不体现了补码在计算机中表示数值型数据的优势,解决了符号的表示的问题,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计。
补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。补码概念的引入和当时运算器设计的背景不无关系,考虑到了数据存储和处理所需要的硬件代价。
以上内容参考网络——补码
Ⅵ 一个4位有符号二进制整数,它的补码能够表示的最大数是+7,最小数为什么是-8
对于n位有符号数,补码数值表示范围为
[- 2n-1,2n-1-1],而且[-8]补 = 1000 B,这是人为规定的。
当然原码四位二进制为0111---1111,最高位是符号位,所以是-7到7.同理,反马即是原码取反,自然也是-7到7.
Ⅶ 计算机储存一个数以补码形式
-5是这样存储的。
首先将5保存至机器字长大小的一个空间(对于现在的机器是32位,在此以8位为例)
00000101,完全反转,11111010,然后加一11111011
计算机内存储的-5便是这样
11111011并不是-3即使是4位字长也不应该把1011当作-3(当别人告诉你这是补码的时候,如果是原码就算了)
Ⅷ 为什么4位补码1000表示-8
4位二进制原码中没有-8的表示,就不能用平时口诀的方法把-8进行原码补码的转换了。
要理解4位二进制补码中的-8是1000这结论,只能回到补码的起点。
介绍预备知识:
先理解:补码利用模和同余概念在运算时可使减法转换成减法。
例如:在12小时制中,以1点钟为起点,向后逆时针转2点到11点,但向前顺时针转10点也是可以到11点的。如此就把1点-2点=11点转换成1点+10点=11点。此处模为12,-2与10对12同余。
再回到本题:
补码是在计算意义上存在的,是为了以加法代替减法。
4位有符号二进制中模为8:-8的同余数就是0,则-8的补码为-000即1000,其来源为x-8要转换成x+0的加法计算意义。
这样也符合补码的计算。例如-1+-7=-8=
-001(原码)+-111(原码)=1111(补码)+1001(补码)=11000=1000(补码)
Ⅸ 如何求一个正数或者负数的原码,反码,补码比如+5
正数的原码,反码,补码就是它的二进制数
负数原码是它的二进制数
反码是原码各位取反0取反是1,1取反是0
补码就是反码加1
如+5的原码,反码,补码都是1,101
而-5的原码是0,101
反码0,010
补码0,011
正号用1表示
负号用0表示
Ⅹ 键盘输入4位十进制数,求其补码并在屏幕上输出对应的十六进制数,用汇编语言完成程序设计,求指导。
;输入不超过65535的10进制数,将其以16位2进制数的形式以及4位的16进制数形式显示补码
;负数本身用补码表示,再求补码即得原码
;用word类型表达的4位十进制均为正数,所以其补码即其自身。
CODESEGMENT
ASSUMECS:CODE
XDW0
MSG1DB13,10,'pleaseinputanumber:','$'
MSG2DB13,10,16DUP(0),'B$'
MSG3DB13,10,4DUP(0),'H$'
START:PUSHCS
POPDS
PUSHCS
POPES
LEADX,MSG1
MOVAH,9
INT21H
LEABX,X
MOVAX,0
PUSHAX
AGAIN1:
MOVAH,1
INT21H
CMPAL,13
JELINE0
SUBAL,30H
MOVAH,0
MOVSI,AX
POPAX
MOVCL,10
MOVCH,0
MULCX
ADDAX,SI
PUSHAX
JMPAGAIN1
LINE0:
POPAX
ORAX,AX
JNS@0
NEGAX
ORAX,8000H
@0:
MOVX,AX
;=================
LEADI,MSG2
INCDI
INCDI
MOVCX,16
MOVAX,X
AGAIN2:
ROLAX,1
JC@1
MOVBYTEPTR[DI],30H
JMP@2
@1:MOVBYTEPTR[DI],31H
@2:INCDI
LOOPAGAIN2
;====================================
LEADI,MSG3
INCDI
INCDI
MOVCX,4
MOVAX,X
AGAIN3:
ROLAX,1
ROLAX,1
ROLAX,1
ROLAX,1
MOVDX,AX
ANDDX,0FH
ORDL,30H
CMPDL,39H
JBE@3
ADDDL,7
@3:
MOVBYTEPTR[DI],DL
INCDI
LOOPAGAIN3
;==============
LEADX,MSG2
MOVAH,9
INT21H
LEADX,MSG3
INT21H
MOVAH,4CH
INT21H
CODEENDS
ENDSTART