讲解1 二进制运算习题讲解
- 格式:doc
- 大小:47.50 KB
- 文档页数:4
二进制怎么算例题下面是关于二进制算术的例题:1.将二进制数 10101 转换为十进制数。
2.将十进制数 42 转换为二进制数。
3.将二进制数 11011 和 1001 相加。
4.将二进制数 10110 和 111101 相减。
5.将二进制数 1011 与 1100 进行按位与运算。
6.将二进制数 1001 和 0101 进行按位或运算。
7.将二进制数 1110 和 0011 进行按位异或运算。
8.将二进制数 1101 进行左移一位。
9.将二进制数 1010 进行右移一位。
10.将二进制数 111000 进行循环左移两位。
这些例题涵盖了二进制数的转换、二进制算术运算以及位操作等基础概念。
可以尝试解答这些例题,加深对二进制的理解和熟练掌握二进制的计算方法。
下面是解答过程:1.将二进制数 10101 转换为十进制数。
解答:(1 × 2^4) + (0 ×2^3) + (1 × 2^2) + (0 × 2^1) + (1 × 2^0) = 16 + 0 + 4 + 0 + 1 = 212.将十进制数42 转换为二进制数。
解答:42 ÷ 2 = 21 余021 ÷ 2 = 10 余 1 10 ÷ 2 = 5 余 0 5 ÷ 2 = 2 余 1 2 ÷ 2 = 1 余 0 1 ÷2 = 0 余 1 结果: 1010103.将二进制数 11011 和 1001 相加。
解答:(11011) + (1001) =1001004.将二进制数10110 和111101 相减。
解答:(111101) -(10110) = 1010115.将二进制数 1011 与 1100 进行按位与运算。
解答:(1011)& (1100) = 10006.将二进制数 1001 和 0101 进行按位或运算。
解答:(1001)| (0101) = 11017.将二进制数1110 和0011 进行按位异或运算。
二进制数的除法运算
“哎呀,这二进制数的除法运算可真是个让人头疼的问题啊!”
好啦,那咱就来说说二进制数的除法运算。
二进制数的除法运算其实和十进制数的除法运算有一些相似之处呢。
咱先举个简单的例子啊,比如10010 ÷ 10。
在二进制里,10 就是 2 嘛。
那咱就开始算,从高位开始,1 除以 2 商 0 余 1,把余数 1 和下一位 0 组合起来就是 10,10 除以 2 商 0 余 10,再把余数 10 和下一位 1 组合起来就是 101,101 除以 2 商 1 余 1,然后 1 除以 2 商 0 余 1,最后结果就是商 1001 余 1。
在实际应用中,二进制数的除法运算常常在计算机科学和数字电路等领域用到。
比如说在计算机的处理器中,进行数据运算的时候就会涉及到二进制的除法。
就像我们用电脑处理图像或者进行复杂的计算时,背后其实都有大量的二进制数的除法运算在默默工作呢。
再比如在数字电路设计中,为了实现特定的逻辑功能,也会用到二进制数的除法。
工程师们会根据具体的需求,设计出合适的电路来完成这些运算。
当然啦,二进制数的除法运算可不是随便就能算好的,得特别细心,一步错了可能整个结果就都不对啦。
而且在实际操作中,还得考虑效率和准确性等问题呢。
二进制数的除法运算虽然有点复杂,但只要咱掌握了方法,多练习练习,就一定能搞明白啦!大家可别被它吓住哦,加油!。
二进制逻辑运算详解逻辑变量之间的运算称为逻辑运算。
二进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“无”。
这种具有逻辑属性的变量就称为逻辑变量。
计算机的逻辑运算的算术运算的主要区别是:逻辑运算是按位进行的,位与位之间不像加减运算那样有进位或借位的联系。
逻辑运算主要包括三种基本运算:逻辑加法(又称“或”运算)、逻辑乘法(又称“与”运算)和逻辑否定(又称“非”运算)。
此外,“异或”运算也很有用。
1、逻辑加法(“或”运算)逻辑加法通常用符号“+”或“∨”来表示。
逻辑加法运算规则如下:0+0=0,0∨0=00+1=1,0∨1=11+0=1,1∨0=11+1=1,1∨1=1从上式可见,逻辑加法有“或”的意义。
也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1。
2、逻辑乘法(“与”运算)逻辑乘法通常用符号“×”或“∧”或“·”来表示。
逻辑乘法运算规则如下:0×0=0,0∧0=0,0·0=00×1=0,0∧1=0,0·1=01×0=0,1∧0=0,1·0=01×1=1,1∧1=1,1·1=1不难看出,逻辑乘法有“与”的意义。
它表示只当参与运算的逻辑变量都同时取值为1时,其逻辑乘积才等于1。
3、逻辑否定(非运算)逻辑非运算又称逻辑否运算。
其运算规则为:0=1 非0等于11=0 非1等于04、异或逻辑运算(半加运算)异或运算通常用符号"⊕"表示,其运算规则为:0⊕0=0 0同0异或,结果为00⊕1=1 0同1异或,结果为11⊕0=1 1同0异或,结果为11⊕1=0 1同1异或,结果为0即两个逻辑变量相异,输出才为1。
二进制真题及答案解析二进制是计算机科学中重要的概念之一,而对于计算机科学专业的学生来说,熟悉掌握二进制的概念和运算是非常关键的。
在这篇文章中,我们将重点讨论一些关于二进制的真题,并对其答案进行解析。
一、转换二进制数为十进制数问题:将二进制数101010转换为十进制数。
解析:要将二进制数转换为十进制数,只需按权展开求和即可。
对于二进制数101010,其权重分别是32、16、8、4、2、1。
将对应的权重与二进制数的每一位相乘再求和,即可得到十进制数的结果。
计算过程如下:1 * 32 + 0 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 = 42答案:二进制数101010转换为十进制数为42。
二、转换十进制数为二进制数问题:将十进制数78转换为二进制数。
解析:要将十进制数转换为二进制数,可以使用“除2取余”的方法进行转换。
将十进制数不断除以2,每次取余数并记录,直到商为0为止。
最后将记录的余数倒序排列,即可得到二进制数的结果。
详细步骤如下:78 ÷ 2 = 39 余 039 ÷ 2 = 19 余 119 ÷ 2 = 9 余 19 ÷ 2 = 4 余 14 ÷ 2 = 2 余 02 ÷ 2 = 1 余 01 ÷2 = 0 余 1倒序排列得到的余数为 1001110答案:十进制数78转换为二进制数为1001110。
三、二进制的位运算问题:计算二进制数1010与0011的按位与运算结果。
解析:按位与运算的规则是,对于两个二进制数的对应位,如果都为1,则结果为1,否则为0。
对于二进制数1010与0011,分别进行按位与运算,得到的结果为:1 & 0 = 00 & 0 = 01 & 1 = 10 & 1 = 0因此,按位与运算的结果为0000。
答案:二进制数1010与0011的按位与运算结果为0000。
二进制的四则运算二进制的四则运算二进制四则运算和十进制四则运算原理相同,所不同的是十进制有十个数码,“满十进一”,二进制只有两个数码0和1,“满二进一”。
二进制运算口诀则更为简单。
1.加法二进制加法,在同一数位上只有四种情况:0+0=0,0+1=1,1+0=1,1+1=10。
只要按从低位到高位依次运算,“满二进一”,就能很容易地完成加法运算。
例1 二进制加法(1)10110+1101;(2)1110+101011。
解加法算式和十进制加法一样,把右边第一位对齐,依次相应数位对齐,每个数位满二向上一位进一。
10110+1101=100011 1110+101011=111001通过计算不难验证,二进制加法也满足“交换律”,如101+1101=1101+101=10010。
多个数相加,先把前两个数相加,再把所得结果依次与下一个加数相加。
例2 二进制加法(1)101+1101+1110;(2)101+(1101+1110)。
解(1)101+1101+1110 (2)101+(1101+1110)=10010+1110 =101+11011=100000;=100000从例2的计算结果可以看出二进制加法也满足“结合律”。
巩固练习二进制加法(1)1001+11;(2)1001+101101;(3)(1101+110)+110;(4)(10101+110)+1101。
2.减法二进制减法也和十进制减法类似,先把数位对齐,同一数位不够减时,从高一位借位,“借一当二”。
例3 二进制减法(1)11010-11110;(2)10001-1011。
解(1)110101-11110=10111;(2)10001-1011=110。
例4 二进制加减混合运算(1)110101+1101-11111;(2)101101-11011+11011。
解(1)110101+1101-11111=1000010-11111=100011(2)101101-11011+11011=10011+11011=101101。
二进制加减法运算例题一、二进制加法运算例题1. 例题1:计算1010₂ + 1101₂- 步骤一:按位相加- 从右往左依次计算:- 第1位(最右边位):0+1 = 1。
- 第2位:1 + 0 = 1。
- 第3位:0+1 = 1。
- 第4位:1+1 = 10(这里得到2,在二进制中表示为10,向高位进1)。
- 步骤二:处理进位- 因为第4位相加产生了进位,所以最终结果为10111₂。
2. 例题2:计算111₂+101₂- 步骤一:按位相加- 从右往左依次计算:- 第1位:1+1 = 10,记0,向高位进1。
- 第2位:1+0 +进位1 = 10,记0,向高位进1。
- 第3位:1+1+进位1 = 11,记1,向高位进1。
- 步骤二:得到结果- 最终结果为1100₂。
二、二进制减法运算例题1. 例题1:计算1101₂ - 1010₂- 步骤一:按位相减- 从右往左依次计算:- 第1位:1 - 0 = 1。
- 第2位:0 - 1,不够减,向高位借1,变为10 - 1=1。
- 第3位:1(被借走1后变为0)-0 = 0。
- 第4位:1-1 = 0。
- 步骤二:得出结果- 最终结果为0011₂。
2. 例题2:计算1000₂ - 111₂- 步骤一:按位相减- 从右往左依次计算:- 第1位:0 - 1,不够减,向高位借1,变为10 - 1 = 1。
- 第2位:0(被借走1后变为 - 1,再向高位借1变为10)-1 = 1。
- 第3位:0(被借走1后变为 - 1,再向高位借1变为10)-1 = 1。
- 步骤二:得出结果- 最终结果为001₂。
[例题2.1]
码值10000001B,若表示一个无符号数,则该数为27+20=129;若是一个带符号数的原码表示,则该数为-0000001B=-1;若是一个带符号数的补码表示,则该数为-1111111B=-127
规格化的浮点数
✓浮点数的阶码决定了浮点数的表示范围,浮点数的尾数决定了浮点数的表示精度✓定义:有效尾数占满尾数的所有位
即对于非0的尾数,规格化尾数应满足1/2≤|M|<1
原码规格化后:正数0.1×××的形式;负数1.1×××的形式
补码规格化后:正数0.1×××的形式;负数1.0×××的形式(-1/2为1.100 0
比较特殊)
✓浮点数的表示范围
设阶码m+1位补码表示,尾数n+1位补码,规格化
溢出
✓定点数:超出字长所表示的范围即为溢出
✓浮点数:规格化后,阶码超出机器的最大阶码,即为上溢;阶码小于机器最小阶码,即为下溢。
(不看尾数,只看阶码)
二进制乘法
✓原码一位乘法规则:
①被乘数和乘数取绝对值参加运算,符号位单独处理
②被乘数取双符号,部分积长度同被乘数,初值为0
③从乘数的最低位y
n 开始判断,若y
n
=1,则部分积加上被乘数,然后右移一位;
若y
n
=0,部分积加上0,然后右移一位。
④重复③,共n次(n次“加-右移)n为小数点后数值部分位数✓补码一位乘法规则(Booth算法):
①符号位参加运算,运算的数均以补码表示
②被乘数取双符号,部分积初值为0
③乘数最低位增加一位Yn+1,初值为0
④逐次比较相邻两位,并按下列规则运算
Y
n (高位) Y
n+1
(低位) 操作
0 0 部分积右移
1 0 部分积+[-X]
补
,右移
0 1 部分积+[X]
补
,右移
1 1 部分积右移
移位按补码右移规则,即复制最高位(符号位)
⑤按照上述算法作n+1步操作,但最后一步不移位(∵补码符号位也是数值一部
分,故共做n+1次加法,n次右移)
[例题2.2]
已知X=0.1101,Y=-0.1011,用原码一位乘计算X×Y
解:乘积符号位=1
部分积|乘数| 说明
00.0000 0.1011 y
n
=1,则部分积加上被乘数,右移+ 00.1101
00.1101
右移00.0110 1 0.101 y
n
=1,则部分积加上被乘数,右移+ 00.1101
01.0011 1
右移00.1001 11 0.10 y
n
=0,则部分积加上0,右移
右移00.0100 111 0.1 y
n
=1,则部分积加上被乘数,右移+ 00.1101
01.0001 111
右移00.1000 1111
∴ X×Y=-0.1000 1111
[例题2.3]
已知X=0.1101,Y=-0.1011,用补码一位乘计算X×Y
解:[X]
补=00.1101,[-X]
补
=11.0011,[Y]
补
=1.0101
部分积乘数 y
n
y
n+1
说明
00.0000 1.01010 增加一位y
n+1
=0,y
n
y
n+1
=10, 部分积+[-X]
补
,右移11.0011
11.0011
右移11.1001 1 1.0101 y
n y
n+1
=01, 部分积+[X]
补
,右移
00.1101
1 00.0110 1 进位1舍去
右移00.0011 01 1.010 y
n y
n+1
=10, 部分积+[-X]
补
,右移
11.0011 11.0110 01
右移11.1011 001 1.01 y
n y
n+1
=01, 部分积+[X]
补
,右移
00.1101
1 00.1000 001 进位1舍去
右移 00.0100 0001 1.0 y
n y
n+1
=10, 部分积+[-X]
补
,最后一步不右移
11.0011
11.0111 0001
∴ [X×Y]
补
=1.0111 0001 X×Y=-0.1000 1111
二进制除法
✓原码一位除法(不恢复余数法,加减交替法)规则:
①符号位不参加运算,并要求|X|<|Y|
②先用被除数减去除数
③若余数为正,商上1,余数左移1位减除数;
若余数为负,商上0,余数左移1位加除数
④重复③n次(n为数值部分位数),当最后一步(第n+1步)余数为负时,需加上
|Y|得到正余数
[例题2.4]
已知X=-0.01010,Y=-0.01100,用原码加减交替法计算X÷Y
解:同号数相除,得出的商和余数的符号位均为正
|X|=0.01010 ,|Y|=0.01100, [-|Y|]
补
=1.10100
被除数(余数) 商说明
0.01010
-Y 1.10100 第一步先减除数
1.11110 0 余数为负,商上0,下一步“左移-加”
左移 1.11100
+Y 0.01100
0.01000 0.1 余数为正,商上1,下一步“左移-减”
左移 0.10000
-Y 1.10100
0.00100 0.11 余数为正,商上1,下一步“左移-减”
左移 0.10000
-Y 1.10100
1.11100 0.110 余数为负,商上0,下一步“左移-加”
左移 1.11100
+Y 0.01100
0.00100 0.1101 余数为正,商上1,下一步“左移-减”
左移 0.10000
-Y 1.10100
1.11100 0.11010 余数为负,商上0
+Y 0.01100 最后一步得出的余数为负,加上除数进行修正
0.01000
∴X÷Y=-0.11010 余数0.01000×2-5
✓补码一位除法规则:
① 参加运算的数用补码表示,符号位参加运算, 商、余数均为补码,并自带符号 ② 若被除数与除数同号,则减去除数;若被除数与除数异号,则加上除数
③ 若余数与除数同号,商上1,下次左移后做减;若异号,商上0,下次左移后做加 ④ 重复③,连同符号位一共做n +1次(n 为数值部分位数);商末尾恒置1(末位有误差)
浮点数加减运算
① 对阶:向大阶看齐
a) 先求Ex ,Ey 之差:△E =Ex -Ey b) 阶码小的数尾数右移| △E |位 ② 右移后的尾数相加减 ③ 结果规格化 ④ 舍入
⑤ 判溢:根据阶码判断 [例题2.5]
设浮点数字长16位,其中阶码8位,以2为底;尾数8位,规格化。
都用双符号位补码表示。
X =2-4
×11/16,Y=2-3
×13/16,求X +Y =?写出运算过程。
解:Mx=11/16=1011×2-4
=0.1011
My=13/16=1101×2-4
=0.1101
Ex =-4 [Ex]补=11,11 1100 [Mx]补=00.101100 Ey =-3 [Ey]补=11,11 1101 [-Ey]补=00,000011 [My]补=00.110100
(1)求阶差:
[△E] 补=[Ex -Ey] 补=[Ex]补+[-Ey]补=11,111100+00,000011=11,111111 ∴△E=-1 Mx 右移1位
X ’: [Mx ’]补=00.010110 [Ex ’]补=11,11 1101
(2) [Mx ’]补+[My]补=00.010110+00.110100=01.001010(看似有溢出) (3)规格化:将相加后的尾数右移1位,变为00.100101 (0舍去) 相应地阶码加1,变为11,11 1110 (4)规格化后的阶码无溢出
∴X +Y =00.100101(尾) 11,111110(阶) 即X +Y =0.100101×2
-2。