1樓:燦燦
加法法則: 0+0=0,0+1=1+0=1,1+1=10減法,當需要向上一位借數時,必須把上一位的1看成下一位的(2)10。
減法法則: 0-0 =0,1-0=1,1-1=0,0-1=1 有借位,借1當(10) 看成 2 則 0 - 1 - 1 = 0 有借位 1 - 1 - 1 = 1 有借位。
乘法法則: 0×0=0,0×1=0,1×0=0,1×1=1除法應注意: 0÷0 =0(無意義),0÷1 =0,1÷0 =0(無意義)
除法法則: 0÷1=0,1÷1=1
二進位制與十進位制的演算法格式相同,只不過十進位制是逢十進一,而二進位制是逢二進一。
2樓:遺城落小童鞋
加法:(1)首先是最右數碼位相加。這裡加數和被加數的最後一位分別為「0」和「1」,根據加法原則可以知道,相加後為「1」。
(2)再進行倒數第二位相加。這裡加數和被加數的倒數第二位都為「1」,根據加法原則可以知道,相加後為「(10)2」,此時把後面的「0」留下,而把第一位的「1」向高一位進「1」。
(3)再進行倒數第三位相加。這裡加數和被加數的倒數第二位都為「0」,根據加法原則可以知道,本來結果應為「0」,但倒數第二位已向這位進「1」了,相當於要加「被加數」、「加數」和「進位」這三個數的這個數碼位,所以結果應為0 1=1。
(4)最後最高位相加。這裡加數和被加數的最高位都為「1」,根據加法原則可以知道,相加後為「(10)2」。一位只能有一個數字,所以需要再向前進「1」,本身位留下「0」,這樣該位相加後就得到「0」,而新的最高位為「1。
減法:(1)首先最後一位向倒數第二位借「1」,相當於得到了(10)2,也就是相當於十進位制數中的2,用2減去1得1。
(2)再計算倒數第二位,因為該位同樣為「0」,不及減數「1」大,需要繼續向倒數第三位借「1」(同樣是借「1」當「2」),但因為它在上一步中已借給了最後一位「1」(此時是真實的「1」),則倒數第二位為1,與減數「1」相減後得到「0」。
(3)用同樣的方法倒數第三位要向它們的上一位借「1」(同樣是當「2」),但同樣已向它的下一位(倒數第二位)借給「1」(此時也是真實的「1」),所以最終得值也為「0」。
(4)被減數的倒數第四位儘管與前面的幾位一樣,也為「0」,但它所對應的減數倒數第四位卻為「0」,而不是前面幾位中對應的「1」,它向它的高位(倒數第五位)借「1」(相當於「2」)後,在借給了倒數第四位「1」(真實的「1」)後,仍有「1」餘,1 –0=1,所以該位結果為「1」。
(5)被減數的倒數第五位原來為「1」,但它借給了倒數第四位,所以最後為「0」,而此時減數的倒數第五位卻為「1」,這樣被減數需要繼續向它的高位(倒數第六位)借「1」(相當於「2」),2–1=1。
(6)被減數的最後一位本來為「1」,可是借給倒數第五位後就為「0」了,而減數沒有這個位,這樣結果也就是被減數的相應位值大小,此處為「0」。
在二進位制數的加、減法運算中一定要聯絡上十進位制數的加、減法運算方法,其實它們的道理是一樣的,也是一一對應的。在十進位制數的加法中,進「1」仍就當「1」,在二進位制數中也是進「1」當「1」。在十進位制數減法中我們向高位借「1」當「10」,在二進位制數中就是借「1」當「2」。
而被借的數仍然只是減少了「1」,這與十進位制數一樣。
乘法:把二進位制數中的「0」和「1」全部當成是十進位制數中的「0」和「1」即可。根據十進位制數中的乘法運算知道,任何數與「0」相乘所得的積均為「0」,這一點同樣適用於二進位制數的乘法運算。
只有「1」與「1」相乘才等於「1」。乘法運算步驟:
(1)首先是乘數的最低位與被乘數的所有位相乘,因為乘數的最低位為「0」,根據以上原則可以得出,它與被乘數(1110)2的所有位相乘後的結果都為「0」。
(2)再是乘數的倒數第二位與被乘數的所有位相乘,因為乘數的這一位為「1」,根據以上原則可以得出,它與被乘數(1110)2的高三位相乘後的結果都為「1」,而於最低位相乘後的結果為「0」。
(3)再是乘數的倒數第三位與被乘數的所有位相乘,同樣因為乘數的這一位為「1」,處理方法與結果都與上一步的倒數第二位一樣,不再贅述。
(4)最後是乘數的最高位與被乘數的所有位相乘,因為乘數的這一位為「0」,所以與被乘數(1110)2的所有位相乘後的結果都為「0」。
(5)然後再按照前面介紹的二進位制數加法原則對以上四步所得的結果按位相加(與十進位制數的乘法運算方法一樣),結果得到(1110)2×(0110)2=(1010100)2。
除法:(1)首先用「1」作為商試一下,相當於用「1」乘以除數「110」,然後把所得到的各位再與被除數的前4位「1001」相減。按照減法運算規則可以得到的餘數為「011」。
(2)因為「011」與除數「110」相比,不足以被除,所以需要向低取一位,最終得到「0111」,此時的數就比除數「110」大了,可以繼續除了。同樣用「1」作為商去除,相當於用「1」去乘除數「110」,然後把所得的積與被除數中當前四位「0111」相減。根據以上介紹的減法運算規則可以得到此步的餘數為「1」。
(3)因為「1」要遠比除數「110」小,被除數向前取一位後為「11」,仍不夠「110」除,所以此時需在商位置上用「0」作為商了。
(4)然後在被除數上繼續向前取一位,得到「110」。此時恰好與除數「110」完全一樣,結果當然是用「1」作為商,用它乘以除數「110」後再與被除數相減,得到的餘數正好為「0」。證明這兩個數能夠整除。
這樣一來,所得的商(1101)2就是兩者相除的結果。
二進位制的計算方法
3樓:橘子閃爍
二進位制運算:
1、加法有四種情況:
0+0=0,0+1=1,1+0=1,1+1=10。
0進位為1
【例1103】求 1011(2)+11(2) 的和
解:2、乘法有四種情況:
0×0=0,1×0=0,0×1=0,1×1=1。
3、減法:
0-0=0,1-0=1,1-1=0,0-1=1。
4、除法:
0÷1=0,1÷1=1。
換算方法:
1、與十進位制:
二進位制轉十進位制的方法:「按權求和」
【例】:
規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十
分位的數字的次數是-1,百分位上數字的次數是-2,依次遞減。
注意:不是任何一個十進位制小數都能轉換成有限位的二進位制數。
十進位制轉二進位制:
十進位制整數轉二進位制數:「除以2取餘,逆序排列」
例如:89÷2 ……1
44÷2 ……0
22÷2 ……0
11÷2 ……1
5÷2 ……1
2÷2 ……0
2、與八進位制:
二進位制數轉換成八進位制數:從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進位制數的數字表示,不足3位的要用「0」補足3位,就得到一個八進位制數。
八進位制數轉換成二進位制數:把每一個八進位制數轉換成3位的二進位制數,就得到一個二進位制數。
八進位制數字與十進位制數字對應關係如下:
000 -> 0 | 004-> 4 | 010=8
001 -> 1 |005 -> 5| 011=9
002 -> 2 |006 -> 6 | 012=10
003 -> 3 |007 -> 7 | 013=11
例如:將八進位制的37.416轉換成二進位制數:
3 7 . 4 1 6
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
3、與十六進位制:
二進位制數轉換成十六進位制數:二進位制數轉換成十六進位制數時,只要從小數點位置開始,向左或向右每四位二進位制劃分一組,然後寫出每一組二進位制數所對應的十六進位制數碼即可。
十六進位制數轉換成二進位制數:把每一個十六進位制數轉換成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
4樓:酈秀榮居書
2、符號位的表示:最常用的表示方法有原碼、反碼和補碼。
(1)原碼錶示法:一個機器數x由符號位和有效數值兩部分組成,設符號位為x0,x真值的絕對值|x|=x1x2x3...xn,則x的機器數原碼可表示為:
[x]原=
,當x>=0時,x0=0,當x<0時,x0=1。
例如:已知:x1=-1011b,x2=
+1001b,則x1,x2有原碼分別是
[x1]
原=11011b,[x2]原=01001b
規律:正數的原碼是它本身,負數的原碼是取絕對值後,在最高位(左端)補「1」。
(2)反碼錶示法:一個負數的原碼符號位不變,其餘各位按位取反就是機器數的反碼錶示法。正數的反碼與原碼相同。
按位取反的意思是該位上是1的,就變成0,該位上是0的就變成1。即1=0,0=1
(3)補碼錶示法:
首先分析兩個十進位制數的運算:78-38=41,79+62=141
如果使用兩位數的運算器,做79+62時,多餘的100因為超出了運算器兩位數的範圍而自動丟棄,這樣在做78-38的減法時,用79+62的加法同樣可以得到正確結果。
模是批一個計量系統的測量範圍,其大小以計量進位制的基數為底數,位數為指數的冪。如兩位十進位制數的測量範圍是1——9,溢位量是100,模就是102=100,上述運算稱為模運算,可以寫作:
79+(-38)=79+62
(mod
100)
進一步寫為
-38=62,此時就說
–38的補法(對模100而言)是62。計算機是一種有限字長的數字系統,因此它的運算都是有模運算,超出模的運算結果都將溢位。n位二進位制的模是2n,
一個數的補碼記作[x]補,設模是m,x是真值,則補碼的定義如下:
例:設字長n=8位,x=-1011011b,求[x]補。
解:因為
n=8,所以模
m=28=100000000b,x<0,所以
[x]補=m+x=100000000b-1011011b=10100101b
注意:這個x的補碼的最高位是「1」,表明它是一個負數。對於二進位制數還有一種更加簡單的方法由原碼求出補碼:
(1)正數的補碼錶示與原碼相同;
(2)負數的補碼是將原碼符號位保持「1」之後,其餘各位按位取反,末位再加1便得到補碼,即取其原碼的反碼再加「1」:[x]補=[x]反+1。
下表列出
的8位二進位制原碼,反碼和補碼並將補碼用十六進位制表示。
真值原碼(b)
反碼(b)
補碼(b)
補碼(h)
+127
0111
1111
0111
1111
0111
1111
7f+39
0010
0111
0010
0111
0010
0111
27+0
0000
0000
0000
0000
0000
0000
00-0
1000
0000
1111
1111
0000
0000
00-39
1010
0111
1101
1000
1101
1001
d9-127
1111
1111
1000
0000
1000
0001
81-128
無法表示
無法表示
1000
0000
80從上可看出,真值+0和-0的補碼錶示是一致的,但在原碼和反碼錶示中具有不同形式。8位補碼機器數可以表示-128,但不存在+128的補碼與之對應,由此可知,8位二進位制補碼能表示數的範圍是-128——+127。還要注意,不存在-128的8位原碼和反碼形式。
計算二進位制 十進位制數,二進位制轉十進位制的演算法怎麼算?
的 應該這樣簡單 先把39轉換成十六進位制 27然後再將那個2的一位變成二進位制的四位 0010再把7那一位變成二進位制的四位 0111 所以39的二進位制就是0010 0111 把這個二進位制數從右到左分組,四位一組為1101 0111 0001 然後把每一組變成十進位制就成了d71h 這樣很快變...
二進位制和十進位制是什麼,十進位制與二進位制有什麼區別?
二進位制就是逢二進一也就是說每個位的最大值為1例如 100,101,111都是二進位制分別代表十進位制的4,5,7十進位制就是逢十進一也就是說每個位的最大值是9例如 99,88,79等 總結 n進位制就是每個位的最大值為x 1 兩種計數的方式 十進位制和二進位制到底有什麼區別?十進位制與二進位制有什...
二進位制轉十進位制演算法,二進位制轉十進位制演算法 01100000 00101100 01011000 11001010要具體演算法過程 文字解釋不給
從左往右算,左邊一位乘以2加上後一位,依次算下去 01100000 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 1 2 5 1 2 6 0 2 7 96 00101100 0 2 0 0 2 1 1 2 2 1 2 3 0 2 4 1 2 5 0 2 6 0 2 7 44 01011...