
二进制数据的算术运算的基本规律和十进制数的运算十分相似.docx
6页二进制数据的算术运算的基本规律和十进制数的运算十分相似最常用的是 加法运算和乘法运算1.1. 二进制加法二进制加法有四种情况: 0+0=00+1=11+0=1 1+1=10 ps:0 进位为 1【例 1103】求 (1101)2+(1011)2 的和解:1 1 0 1+1 0 1 1-------------------1 1 0 0 02.2. 二进制乘法二进制乘法有四种情况: 0×0=01×0=00×1=01×1=1【例 1104】求 (1110)2 乘(101)2 之积解: 1 1 1 0× 1 0 1-----------------------1 1 1 00 0 0 01 1 1 0 -------------------------1 0 0 0 1 1 0 (这些计算就跟十进制的加或者乘法相同,只是进位的数不一样而已,十进 制的是到十才进位这里是到 2 就进了)3.二进制减法0-0=0,1-0=1,1-1=0,10-1=14.二进制除法0÷1=0,1÷1=1[1-2]5.二进制拈加法拈加法二进制加减乘除外的一种特殊算法拈加法运算与进行加法类似,但不需要做进位此算法在博弈论(Game Theory)中被广泛利用计算机中的十进制小数转换二进制计算机中的十进制小数转换二进制 计算机中的十进制小数用二进制通常是用乘二取整法来获得的。
比如 0.65 换算成二进制就是:0.65 * 2 = 1.3 取 1,留下 0.3 继续乘二取整0.3 * 2 = 0.6 取 0, 留下 0.6 继续乘二取整0.6 * 2 = 1.2 取 1,留下 0.2 继续乘二取整0.2 * 2 = 0.4 取 0, 留下 0.4 继续乘二取整0.4 * 2 = 0.8 取 0, 留下 0.8 继续乘二取整0.8 * 2 = 1.6 取 1, 留下 0.6 继续乘二取整0.6 * 2 = 1.2 取 1,留下 0.2 继续乘二取整.......一直循环,直到达到精度限制才停止(所以,计算机保存的小数一般会有 误差,所以在编程中,要想比较两个小数是否相等,只能比较某个精度范围内 是否相等这时,十进制的 0.65,用二进制就可以表示为:1010011还值得一提的是,在目前的计算机中,除了十进制是有符号的外,其他如 二进制、八进制、16 进制都是无符号的编辑本段编辑本段进制转换进制转换十进制数转换为二进制数、八进制数、十六进制数的方法:二进制数、八进制数、十六进制数转换为十进制数的方法:按权展开求和 法1 1.二进制与十进制间的相互转换:.二进制与十进制间的相互转换:(1)二进制转十进制方法:“按权展开求和”例: (1011.01)2 =(1×2^3+0×2^2+1×2^1+1×2^0+0×2^(-1) +1×2^(-2) )10=(8+0+2+1+0+0.25)10=(11.25)10规律:个位上的数字的次数是 0,十位上的数字的次数是 1,......,依次 递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
注意:不是任何一个十进制小数都能转换成有限位的二进制数2)十进制转二进制· 十进制整数转二进制数:“除以 2 取余,逆序排列”(除二取余法)例: (89)10 =(1011001)289÷2 ……144÷2 ……022÷2 ……011÷2 ……15÷2 ……12÷2 ……01 · 十进制小数转二进制数:“乘以 2 取整,顺序排列”(乘 2 取整法)例: (0.625)10= (0.101)20.625X2=1.25 ……10.25 X2=0.50 ……00.50 X2=1.00 ……1十进制十进制 1 1 至至 100100 的二进制表示:的二进制表示: 0=01=12=103=114=1005=1016=1107=1118=10009=100110=101011=101112=110013=110114=111015=111116=1000017=1000118=1001019=1001120=1010021=1010122=1011023=1011124=1100025=1100126=1101027=1101128=1110029=1110130=1111031=1111132=10000033=10000134=10001035=10001136=10010037=10010138=10011039=10011140=10100041=10100142=10101043=10101144=10110045=10110146=10111047=10111148=11000049=11000150=110010 51=11001152=11010053=11010154=11011055=11011156=11100057=11100158=11101059=11101160=11110061=11110162=11111063=11111164=100000065=100000166=100001067=100001168=100010069=100010170=100011071=100011172=100100073=100100174=100101075=100101176=100110077=100110178=100111079=100111180=101000081=101000182=101001083=101001184=101010085=101010186=101011087=101011188=101100089=101100190=101101091=101101192=101110093=101110194=101111095=101111196=110000097=110000198=110001099=1100011100=11001002 2.八进制与二进制的转换:.八进制与二进制的转换:二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右, 每 3 位为一组用一位八进制数的数字表示,不足 3 位的要用“0”补足 3 位,就 得到一个八进制数。
八进制数转换成二进制数:把每一个八进制数转换成 3 位的二进制数,就 得到一个二进制数八进制数字与二进制数字对应关系如下:000 -> 0 100 -> 4 001 -> 1 101 -> 5 010 -> 2 110 -> 6 011 -> 3 111 -> 7例:将八进制的 37.416 转换成二进制数:3 7 . 4 1 6011 111 .100 001 110即:(37.416)8 =(11111.10000111)2 例:将二进制的 10110.0011 转换成八进制:0 1 0 1 1 0 . 0 0 1 1 0 0 2 6 . 1 4 即:(10110.011)2 = (26.14)83 3.十六进制与二进制的转换:.十六进制与二进制的转换:二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向 右,每 4 位为一组用一位十六进制数的数字表示,不足 4 位的要用“0”补足 4 位,就得到一个十六进制数十六进制数转换成二进制数:把每一个十六进制数转换成 4 位的二进制数, 就得到一个二进制数十六进制数字与二进制数字的对应关系如下:0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D 0010 -> 2 0110 -> 6 1010 -> A 1110 -> E0011 -> 3 0111 -> 7 1011 -> B 1111 -> F例:将十六进制数 5DF.9 转换成二进制:5 D F . 90101 1101 1111 .1001即:(5DF.9)16 =(10111011111.1001)2 例:将二进制数 1100001.111 转换成十六进制:0110 0001 . 11106 1 . E即:(1100001.111)2 =(61.E)16编辑本段编辑本段其他资料其他资料。
