二進位制乘法和加法都是透過對二進位制數的移位來實現的,移位相當於×2,計算機算根據給出的加法式子與乘法式子算要移多少位。擴充套件:1、二進位制資料的表示法 二進位制資料也是採用位置計數法,其位權是以2為底的冪。例如二進位制資料110.11,其權的大小順序為2^2、2^1、2^0、2^-1、2^-2。對於有n位整數,m位小數的二進位制資料用加權係數展開式表示,可寫為: (a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^0+a(-1)×2^(-1)+a(-2)×2^(-2)+……+a(-m)×2^(-m) 二進位制資料一般可寫為:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2。 注意: 1.式中aj表示第j位的係數,它為0和1中的某一個數。 2.a(n-1)中的(n-1)為下標,輸入法無法打出所以用括號括住,避免混淆。 3.2^2表示2的平方,以此類推。 【例1102】將二進位制資料111.01寫成加權係數的形式。 解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2) 二進位制和十六進位制,八進位制一樣,都以二的冪來進位的。 二進位制資料的算術運算的基本規律和十進位制數的運算十分相似。最常用的是加法運算和乘法運算。 1. 二進位制加法 有四種情況: 0+0=0 0+1=1 1+0=1 1+1=10 進位為1 【例1103】求 (1101)2+(1011)2 的和 解: 1 1 0 1 + 1 0 1 1 ------------------- 1 1 0 0 0 2. 二進位制乘法 有四種情況: 0×0=0 1×0=0 0×1=0 1×1=1 【例1104】求 (1110)2 乘(101)2 之積 解: 1 1 1 0 × 1 0 1 ----------------------- 1 1 1 0 0 0 0 0 1 1 1 0 ------------------------- 1 0 0 0 1 1 0 (這些計算就跟十進位制的加或者乘法相同,只是進位的數不一樣而已,十進位制的是到十才進位這裡是到2就進了) 3.二進位制減法 0-0=0,1-0=1,1-1=0,10-1=1。 4.二進位制除法 0÷1=0,1÷1=1。[1][2] 5.二進位制拈加法 拈加法二進位制加減乘除外的一種特殊演算法。 拈加法運算與進行加法類似,但不需要做進位。此演算法在博弈論(Game Theory)中被廣泛利用。 十進位制數轉換為二進位制數、八進位制數、十六進位制數的方法: 二進位制數、八進位制數、十六進位制數轉換為十進位制數的方法:按權展開求和法 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)2 2 89 ……1 2 44 ……0 2 22 ……0 2 11 ……1 2 5 ……1 2 2 ……0 1 · 十進位制小數轉二進位制數:“乘以2取整,順序排列”(乘2取整法) 例: (0.625)10= (0.101)2 0.625X2=1.25 ……1 0.25 X2=0.50 ……0 0.50 X2=1.00 ……1 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 6 011 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)8 3.十六進位制與二進位制的轉換: 二進位制數轉換成十六進位制數:從小數點開始,整數部分向左、小數部分向右,每4位為一組用一位十六進位制數的數字表示,不足4位的要用“0”補足4位,就得到一個十六進位制數。 十六進位制數轉換成二進位制數:把每一個十六進位制數轉換成4位的二進位制數,就得到一個二進位制數。 十六進位制數字與二進位制數字的對應關係如下: 0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C 0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D 0010 -> 2 0110 -> 6 1010 -> A 1110 -> E 0011 -> 3 0111 -> 7 1011 -> B 1111 -> F 例:將十六進位制數5DF.9 轉換成二進位制: 5 D F . 9 0101 1101 1111 .1001 即:(5DF.9)16 =(10111011111.1001)2 例:將二進位制數1100001.111 轉換成十六進位制: 0110 0001 . 1110 6 1 . E 即:(1100001.111)2 =(61.E)16
二進位制乘法和加法都是透過對二進位制數的移位來實現的,移位相當於×2,計算機算根據給出的加法式子與乘法式子算要移多少位。擴充套件:1、二進位制資料的表示法 二進位制資料也是採用位置計數法,其位權是以2為底的冪。例如二進位制資料110.11,其權的大小順序為2^2、2^1、2^0、2^-1、2^-2。對於有n位整數,m位小數的二進位制資料用加權係數展開式表示,可寫為: (a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^0+a(-1)×2^(-1)+a(-2)×2^(-2)+……+a(-m)×2^(-m) 二進位制資料一般可寫為:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2。 注意: 1.式中aj表示第j位的係數,它為0和1中的某一個數。 2.a(n-1)中的(n-1)為下標,輸入法無法打出所以用括號括住,避免混淆。 3.2^2表示2的平方,以此類推。 【例1102】將二進位制資料111.01寫成加權係數的形式。 解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2) 二進位制和十六進位制,八進位制一樣,都以二的冪來進位的。 二進位制資料的算術運算的基本規律和十進位制數的運算十分相似。最常用的是加法運算和乘法運算。 1. 二進位制加法 有四種情況: 0+0=0 0+1=1 1+0=1 1+1=10 進位為1 【例1103】求 (1101)2+(1011)2 的和 解: 1 1 0 1 + 1 0 1 1 ------------------- 1 1 0 0 0 2. 二進位制乘法 有四種情況: 0×0=0 1×0=0 0×1=0 1×1=1 【例1104】求 (1110)2 乘(101)2 之積 解: 1 1 1 0 × 1 0 1 ----------------------- 1 1 1 0 0 0 0 0 1 1 1 0 ------------------------- 1 0 0 0 1 1 0 (這些計算就跟十進位制的加或者乘法相同,只是進位的數不一樣而已,十進位制的是到十才進位這裡是到2就進了) 3.二進位制減法 0-0=0,1-0=1,1-1=0,10-1=1。 4.二進位制除法 0÷1=0,1÷1=1。[1][2] 5.二進位制拈加法 拈加法二進位制加減乘除外的一種特殊演算法。 拈加法運算與進行加法類似,但不需要做進位。此演算法在博弈論(Game Theory)中被廣泛利用。 十進位制數轉換為二進位制數、八進位制數、十六進位制數的方法: 二進位制數、八進位制數、十六進位制數轉換為十進位制數的方法:按權展開求和法 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)2 2 89 ……1 2 44 ……0 2 22 ……0 2 11 ……1 2 5 ……1 2 2 ……0 1 · 十進位制小數轉二進位制數:“乘以2取整,順序排列”(乘2取整法) 例: (0.625)10= (0.101)2 0.625X2=1.25 ……1 0.25 X2=0.50 ……0 0.50 X2=1.00 ……1 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 6 011 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)8 3.十六進位制與二進位制的轉換: 二進位制數轉換成十六進位制數:從小數點開始,整數部分向左、小數部分向右,每4位為一組用一位十六進位制數的數字表示,不足4位的要用“0”補足4位,就得到一個十六進位制數。 十六進位制數轉換成二進位制數:把每一個十六進位制數轉換成4位的二進位制數,就得到一個二進位制數。 十六進位制數字與二進位制數字的對應關係如下: 0000 -> 0 0100 -> 4 1000 -> 8 1100 -> C 0001 -> 1 0101 -> 5 1001 -> 9 1101 -> D 0010 -> 2 0110 -> 6 1010 -> A 1110 -> E 0011 -> 3 0111 -> 7 1011 -> B 1111 -> F 例:將十六進位制數5DF.9 轉換成二進位制: 5 D F . 9 0101 1101 1111 .1001 即:(5DF.9)16 =(10111011111.1001)2 例:將二進位制數1100001.111 轉換成十六進位制: 0110 0001 . 1110 6 1 . E 即:(1100001.111)2 =(61.E)16