計算機二進制演算法
❶ 二進制的計算方法
加法:0+0=0;0+1=1;1+0=1;1+1=10;0進位為1。減法:0-0=0,1-0=1,1-1=0,0-1=1。
二進數轉四進制時,以小數點為起點,向左和向右兩個方向分別進行分段,每兩個數字一段,不足兩位的分別在左邊或右邊補零。
二進制數轉換成八進制數:從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進制數的數字表示,不足3位的要用「0」補足3位,就得到一個八進制數。
二進制數轉換成十六進制數:二進制數轉換成十六進制數時,只要從小數點位置開始,向左或向右每四位二進制劃分一組(不足四位數可補0),然後寫出每一組二進制數所對應的十六進制數碼即可。
(1)計算機二進制演算法擴展閱讀:
計算機採用二進制的原因:
1、技術實現簡單,計算機是由邏輯電路組成,邏輯電路通常只有兩個狀態,開關的接通與斷開,這兩種狀態正好可以用「1」和「0」表示。
2、簡化運算規則:兩個二進制數和、積運算組合各有三種,運算規則簡單,有利於簡化計算機內部結構,提高運算速度。
3、適合邏輯運算:邏輯代數是邏輯運算的理論依據,二進制只有兩個數碼,正好與邏輯代數中的「真」和「假」相吻合。
4、易於進行轉換,二進制與十進制數易於互相轉換。
5、用二進製表示數據具有抗干擾能力強,可靠性高等優點。因為每位數據只有高低兩個狀態,當受到一定程度的干擾時,仍能可靠地分辨出它是高還是低。
❷ 二進制的計算方法是怎樣的請舉個例子謝謝,
二進制的運算算術運算二進制的加法:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位進位);即7=111,10=10103=11。
二進制的減法:0-0=0,0-1=1(向高位借位) 1-0=1,1-1=0 (模二加運算或異或運算) ;
二進制的乘法:0 * 0 = 00 * 1 = 0,1 * 0 = 0,1 * 1 = 1 二進制的除法:0÷0 = 0,0÷1 = 0,1÷0 = 0 (無意義),1÷1 = 1 ;
邏輯運算二進制的或運算:遇1得1 二進制的與運算:遇0得0 二進制的非運算:各位取反。
(2)計算機二進制演算法擴展閱讀:
二進制的轉換:
二進制轉換為其他進制:
1、二進制轉換成十進制:基數乘以權,然後相加,簡化運算時可以把數位數是0的項不寫出來,(因為0乘以其他不為0的數都是0)。小數部分也一樣,但精確度較少。
2、二進制轉換為八進制:採用「三位一並法」(是以小數點為中心向左右兩邊以每三位分組,不足的補上0)這樣就可以輕松的進行轉換。例:將二進制數(11100101.11101011)2轉換成八進制數。 (11100101.11101011)2=(345.353)8
3、二進制轉換為十六進制:採用的是「四位一並法」,整數部分從低位開始,每四位二進制數為一組,最後不足四位的,則在高位加0補足四位為止,也可以不補0。
小數部分從高位開始,每四位二進制數為一組,最後不足四位的,必須在低位加0補足四位,然後用對應的十六進制數來代替,再按順序寫出對應的十六進制數。
❸ 計算機二進制怎麼算
從右往左數,把數字所在位置-1得到的數做底數為'2'的指數.再乘以相應位置上的數'0'或'1'.最後全部加起來,就是你給出的二進制的十進製表示。
例如:
0001 = 2^3 x 0 + 2^2 x 0 + 2^1 x 0 + 2^0 x 1 = 1
0010 = 2^3 x 0 + 2^2 x 0 + 2^1 x 1 + 2^0 x 0 = 2
0100 = 2^3 x 0 + 2^2 x 1 + 2^1 x 0 + 2^0 x 0 = 4
1000 = 2^3 x 1 + 2^2 x 0 + 2^1 x 0 + 2^0 x 0 = 8
0110 = 2^3 x 0 + 2^2 x 1 + 2^1 x 1 + 2^0 x 0 = 6二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進制系統,數據在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用1來表示「開」,0來表示「關」。
二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進制系統。
數據在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用「開」來表示1,「關」來表示0。
20世紀被稱作第三次科技革命的重要標志之一的計算機的發明與應用,因為數字計算機只能識別和處理由『0』.『1』符號串組成的代碼。其運算模式正是二進制。19世紀愛爾蘭邏輯學家喬治布爾對邏輯命題的思考過程轉化為對符號"0''.''1''的某種代數演算,二進制是逢2進位的進位制。0、1是基本算符。因為它只使用0、1兩個數字元號,非常簡單方便,易於用電子方式實現。
20世紀被稱作第三次科技革命的重要標志之一的計算機的發明與應用,因為數字計算機只能識別和處理由『0』.『1』符號串組成的代碼。其運算模式正是二進制。19世紀愛爾蘭邏輯學家喬治布爾對邏輯命題的思考過程轉化為對符號"0''.''1''的某種代數演算,二進制是逢2進位的進位制。0、1是基本算符。因為它只使用0、1兩個數字元號,非常簡單方便,易於用電子方式實現。
二進制和十六進制,八進制一樣,都以二的冪來進位的。
主要特點
優點
數字裝置簡單可靠,所用元件少;
只有兩個數碼0和1,因此它的每一位數都可用任何具有兩個不同穩定狀態的元件來表示;
基本運算規則簡單,運算操作方便。
缺點
用二進製表示一個數時,位數多。因此實際使用中多採用送入數字系統前用十進制,送入機器後再轉換成二進制數,讓數字系統進行運算,運算結束後再將二進制轉換為十進制供人們閱讀。
二進制和十六進制的互相轉換比較重要。不過這二者的轉換卻不用計算,每個C,C++程序員都能做到看見二進制數,直接就能轉換為十六進制數,反之亦然。
❹ 關於計算機中的二進制演算法
我總結的法則:十進制變「二」「八」「十六」進制時(整數)都用所給的(十進制)數除以需變成的進制(二,八,十六)並求余反序(若是小數則改為乘並正序)eg:13/2=6……1
6/2=3……0
3/2=1……1
1/2=0……1故13(十進制)的二進制為(反序)1101eg2:0.3125*2=0.625……0
0.625*2=1.25……1
將整數放到一邊繼續用其小數*2
0.25*2=0.5……0
0.5*2=1.0……1小數0.3125(十進制)在轉換為二進制時就是將其一直乘其轉換的進制(二進制)即
*2使小數變為整數為止
❺ 二進制演算法口訣是什麼
二進制演算法口訣是除二取余,然後倒序排列,高位補零。轉成二進制主要有以下幾種:正整數轉二進制,負整數轉二進制,小數轉二進制;正整數轉成二進制。十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換後,再加以合並。
二進制演算法的起源
周所周知,二進制是計算機技術中應用最廣泛的數值,二進制是使用0和1兩個數字來表示的數,它的基數是2,進位規則也顯而易見,「逢二進一」,這種運算方式最初由18世紀德國數理哲學大師萊布尼茲發現的,這個發現奠定了第三次計算機革命的基礎,可以說沒用二進制就沒有第三次科技革命。
公元1700年左右,一位友人給萊布尼茨送來了一份中國「易圖」(也就是八卦),研究後他發現,用兩種符號,填入兩個空格(可重復),一共有4種不同的組合,如果填入三個空格,一共可以有8種組合,以此類推,填入N個空格,就有2的N次方種組合。於是他受到啟發,成為二進制運算的奠基人。
❻ 二進制是怎麼計算
二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二加法
有四種情況: 0+0=0
0+1=1
1+0=1
1+1=0
0 進位為1
【例1103】求 1011(2)+11(2) 的和
解:
1011+11
1011+11[1]
乘法
有四種情況: 0×0=0
1×0=0
0×1=0
1×1=1
減法
0-0=0,1-0=1,1-1=0,0-1=1。
除法
0÷1=0,1÷1=1。
拈加法
拈加法二進制加減乘除外的一種特殊演算法。
拈加法運算與進行加法類似,但不需要做進位。此演算法在博弈論(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進制都是無符號的。
在現實生活和記數器中,如果表示數的「器件」只有兩種狀態,如電燈的「亮」與「滅」,開關的「開」與「關」。一種狀態表示數碼0,另一種狀態表示數碼1,1加1應該等於2,因為沒有數碼2,只能向上一個數位進一,就是採用「滿二進一」的原則,這和十進制是採用「滿十進一」原則完全相同。
1+1=10,10+1=11,11+1=100,100+1=101,
101+1=110,110+1=111,111+1=1000,……,
可見二進制的10表示二,100表示四,1000表示八,10000表示十六,……。
二進制同樣是「位值制」。同一個數碼1,在不同數位上表示的數值是不同的。如11111,從右往左數,第一位的1就是一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。
所謂二進制,也就是計算機運算時用的一種演算法。二進制只由一和零組成。
比方說吧,你上一年級時一定聽說過「進位筒」(「數位筒」)吧!十進制是個位上滿十根小棒就捆成一捆,放進十位筒,十位筒滿十捆就捆成一大捆,放進百位筒……
二進制也是一樣的道理,個位筒上滿2根就向十位進一,十位上滿兩根就向百位進一,百位上滿兩根…… 二進制是世界上第一台計算機上用的演算法,最古老的計算機里有一個個燈泡,當運算的時候,比如要表達「一」,第一個燈泡會亮起來。要表達「二」,則第一個燈泡熄滅,第二個燈泡就會亮起來。
二進制就是等於2時就要進位。
0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
……
即是逢二進一,二進制廣泛用於最基礎的運算方式,計算機的運行計算基礎就是基於二進制來運行。只是用二進制執行運算,用其他進製表現出來。
其實把二進制三位一組分開就是八進制, 四位一組就是十六進制