二进制的运算方法
负数怎么加:
1 :0000 0001
-1 :1111 1111
正数变负数 :去反加1
-1 + -1 =?
1111 1110 :-2
2为:0000 0010
取反:1111 1101
再+1:1111 1110
二进制与其它进制的转换和运算,应该说是计算机类的考试,逢试必考,这里总结一下知识点。
二进制运算原理,大家都知道,不外乎,除2取余和乘2取整。这种费时、费力的方法,这里就不说了。考试讲究的时间,所以要找些简便的方法,必要时还是要记一下“二进制的变化形”,做到一看二进制数就知道其的十进制是多少,形成条件反射,就和我们打五笔一样,不需要再默诵字根了。
一、多种进制之间换算、比较和运算的顺序和原则
1、先比较整数部分,再比较小数部分;
2、“八进制”、“十六进制”,都转换成“二进制”进行比较大小;
3、再将其中最大数由“二进制”转换成“十进制”数与剩下的“十进制”数比较大小;
二、整数部分的二进制转换成十进制
每4位为一组,每组有不同权值,从左至右为,“212、28、24、20”或“4096、256、16、1”,“n”为每组二进制的十进制值。我这么说你可能些糊涂,看看下面的两个例子,就明白了。其简便之处,在于只需记住“15 - 0”的二进制是多少就可以了。
1111 1111 1111 1111
(4096×n) + (256×n) + (16×n) + (1×n)
(212×n) + (28×n) + (24×n) + (20×n)
如:十六进制数“5E”的十进制数是多少?答:94
0101 1110
5×16 + 14×1 = 94
如:二进制数“0101 1100 0110”的十进制数是多少?答:1478
0101 1100 0110
5×256 + 12×16 + 6×1 = 1478
三、小数部分的二进制转换成十进制,需要记忆小数位后六位的二进制数。
指数 |
分数 |
二进制 |
十进制 |
2-1
|
1/21
|
.1 |
.5 |
2-2
|
1/22
|
.01 |
.25 |
2-3
|
1/23
|
.001 |
.125 |
2-4
|
1/24
|
.0001 |
.0625 |
|
|
|
|
2-5
|
1/25
|
.0000 1 |
.03125 |
2-6
|
1/26
|
.0000 01 |
.015625 |
如:二进制小数“.01011”转换成十进制小数为多少?答:“0.34375”
二进制数:0101 1 0.25 + 0.0625 + 0.03125 = 0.34375
四、二进制的分组,每四位分一组,和十六进制相统一,便于计算。
不足四位的分组,其原则是,整数位向左借0成组,小数位向右借0成组。
如:二进制数“1010100.001101”
二进制分组: 0101 0100 . 0011 0100
八进制分组: 001 010 100 . 001 101
原码
反码 正数的反码 = 原码 负数的反码 = 原码符号位不变,其余位逐位取反
补码 正数的补码 = 原码 负数的补码 = 原码符号位不变,其余位逐位取反,+1
移码 与补码的符号相反,常用来表示浮点数的阶码
欲对二进制各位取反,可用FFFF与该数进行异或运算。
|
二进制数的算术运算包括加法、减法、乘法和除法。基本运算是加法和减法运算。
1. 二进制数的加法运算
加法运算按下列三条法则进行:
(1)0 + 0 = 0 (2)0 + 1 = 1 + 0 = 1 (3)1 + l = 10 (逢二进一,向高位进位 )
例 (1010)2 + (1011)2 的算式如下:
被加数 1010
加数 1011
+) 进位 1010
和数 10101
由上述执行加法的过程可以看出,两个二进制数相加时。每一位最多有三个数相加,即本位被加数、加数和从低位来的进位 ( 进位可能是 0 ,也可能是 1) 。按加法运算法则可得到本位加法的和及向高位的进位。
2. 二进制数的减法运算
减法运算按下列三条法则进行,
(1)0-0 = l-1 = 0 (2)1-0 = l (3)0-1 = 1( 此时要向高位借位,借 l 当 2)
例 (11100101) 2 - (10011010) 2 的算式如下:
被减数 11100101
减数 10011010
-) 借位 0011010
差数 01001011
由上述执行减法运算过程可知,两个二进制数相减时,每位最多有三个数:本位被减数、减数和向高位的借位 , 借 1 当 2 。所以做减法运算时,除了每位相减外,还要考虑借位情况。
3. 二进制数的乘法运算
二进制数的乘法运算有下列三条法则:
(1)0 × 0 = 0 (2)0 × l = 1 × 0 = 0 (3)1 × 1 = 1
例 (1011) 2 × (1101) 2 的算式如下:
被乘数 1011
× ) 乘数 1101
1011
0000
部分积 1011
1011
乘积 10001111
由上述乘法运算过程可知,每个部分积都取决于乘数相应位是0还是1。若乘数的相应位为0,则此次部分积为0;若乘数的相应位为1,则此次部分积就是被乘数。部分积的数目与乘数的位数相同,每次的部分积依次左移一位。将各部分积累加起来,就得到最终的乘积。计算机中实现二进制数的乘法运算,通常采用的是移位相加的方法。
4. 二进制数的除法运算
二进制数的除法运算按下列三条法则进行:
(1) 0 ÷ 0 = 0 (2) 0 ÷ 1 = 0 (1 ÷ 0 是无意义的 ) (3) 1 ÷ 1 = 1
例 (111011) 2 ÷ (1011) 2 的算式如下:
101 商数
除数 1011)111011 被除数
1011
1111
1011
100 余数
即 (111011)2 ÷ (1011)2,其商为 (101)2,余数为(100)2 。
在计算机中实现二进制数的除法运算,通常采用移位相减的方法。
分享到:
相关推荐
java二进制运算器(加、见、乘、除)**********
关于二进制的各种运算, 挺不错的 很全了
二进制运算电路 二进制运算电路 二进制运算电路 数字逻辑 数字逻辑
这是一个模拟计算机进行加法和数的原码、反码,补码的分析工具。我希望这个工具能对需要它的人有所帮助,所以决定通过GNU General Public License发布这个自由软件。我使用的编译环境是VS2010Express。...
大数运算包含加,减,乘,除,取模,幂运算,模幂运算。支持十进制运算,二进制运算;支持文件运算,键盘输入运算,若有需要,可提供实验报告
二进制运算及转换PPT课件.pptx
使用C++语言实现十进制转换为二进制的运算方法,可正负互转,解决了上次输出顺序错误的问题
二进制运算规则.pdf
圣克鲁斯加利福尼亚大学的老师Eric Lengyel总结的二进制运算基础
二进制运算规则.doc
易语言二进制递归运算源码,二进制递归运算,到二进制文本
2.3-二进制运算规则.doc
二进制运算PPT学习教案.pptx
二进制运算及转换PPT学习教案.pptx
设计最后得分优秀,而且免答辩。 代码清晰易懂,你绝对值得拥有。
长整数的字节数组、二进制、补码,进行加减乘比较大小运算
此软件依然是自由软件,欢迎大家提供宝贵意见,此版本是.net中的最后一个版本,正向java移植中
运算基础二进制的运算和计算机中的四则运算.ppt
使用C++语言实现十进制转换为二进制的运算方法,可正负互转