A. 二進制轉十進制演算法
二進制轉換為十進制方法:由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。
這種做法稱為"按權相加"法。
例1105
把二進制數110.11轉換成十進制數。
二進制(binary)在數學和數字電路中指以2為基數的記數系統,以2為基數代表系統是二進位制的。這一系統中,通常用兩個不同的符號0(代表零)和1(代表一)來表示
。
數字電子電路中,邏輯門的實現直接應用了二進制,因此現代的計算機和依賴計算機的設備里都用到二進制。每個數字稱為一個比特(Bit,Binary
digit的縮寫)。
(1)二進制數轉換成十進制數簡便方法擴展閱讀
注意事項:
十進制基於位進制和十進位兩條原則,即所有的數字都用10個基本的符號表示,滿十進一,同時同一個符號在不同位置上所表示的數值不同,符號的位置非常重要。
基本符號是0到9十個數字。要表示這十個數的10倍,就將這些數字左移一位,用0補上空位,即10,20,30,...,90。
要表示這十個數的10倍,就繼續左移數字的位置,即100,200,300,...。要表示一個數的1/10,就右移這個數的位置,需要時就0補上空位:1/10位0.1,1/100為0.01,1/1000為0.001。
參考資料來源:網路-二進制
B. 2進制轉換10進制的方法是什麼
二進制數轉換成十進制數
二進制的1101轉化成十進制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 轉化成十進制要從右到左用二進制的每個數去乘以2的相應次方 不過次方要從0開始 相反 用十進制的13除以2 每除一下將余數就記在旁邊 最後按余數從下向上排列就可得到1101 十進制轉二進制: 用2輾轉相除至結果為1 將余數和最後的1從下向上倒序寫 就是結果 例如302 302/2 = 151 餘0 151/2 = 75 餘1 75/2 = 37 餘1 37/2 = 18 餘1 18/2 = 9 餘0 9/2 = 4 餘1 4/2 = 2 餘0 2/2 = 1 餘0 故二進制為100101110 二進制轉十進制 從最後一位開始算,依次列為第0、1、2...位 第n位的數(0或1)乘以2的n次方 得到的結果相加就是答案 例如:01101011.轉十進制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然後:1+2+0 +8+0+32+64+0=107. 二進制01101011=十進制107. 由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。
二進制轉十進制
本人有個更直接的方法,例如二進制數1000110轉成十進制數可以看作這樣: 數字中共有三個1 即第二位一個,第三位一個,第七位一個,然後十進制數即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方數即1的位數減一。如此計算只需要牢記2的前十次方即可在此本人為大家陳述一下:2的0次方是1 2的1次方是2 2的2次方是4 2的3次方是8 2的4次方是16 2的5次方是32 2的6次方是64 2的7次方是128 2的8次方是256 2的9次方是512 2的10次方是1024 2的11次方是2048 2的12次方是4096 2的13次方是8192 2的14次方是16384 2的15次方是32768 在這里僅為您提供前15次方,若需要更多請自己查詢。
C. 二進制怎樣轉換成十進制的簡便方法
把二進制數存放為字元串,用函數 strtol() 直接轉整型,就得到 10進制數值了。
例如:
#include <stdio.h>
int main()
{
char s[]="01110100110"; //存放為字元串
int a;
a = strtol(s,NULL,2);
printf("%d\n",a);
return 0;
}
比較短小的2進制數,手算也可,例如:
110110 = 32*1+16*1+0+4*1+2*1+0 = 32+16+4+2=54。
D. 二進制轉化為十進制的演算法
從最低位(最右)算起,位上的數字乘以本位的權重,權重就是2的第幾位的位數減一次方。
比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起來。
2(1-1)代表2的0次方,就是1;其他類推
比如二進制1101,換算成十進制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13。
(4)二進制數轉換成十進制數簡便方法擴展閱讀:
1、二進制轉換為八進制:
把二進制的數從右往左,三位一組,不夠補0
列:111=4+2+1=7
11001拆分為 001和011,001=1,011=2+1=3。
那麼11001轉換為八進制就是31。
2、二進制轉換為十六進制:
參照二進制轉八進制,但是它是從右往左,四位一組,不夠補0
列子:1101101拆分為1101、0110
分別計算兩個二進制的值,1101=8+4+0+1=13,十六進制中13為D
0110=4+2=6,那麼二進制1101101轉換為十六進制就是6D。
參考資料:網路-數制
E. 二進制轉化為十進制的方法
方法一
小數點前或者整數要從右到左用二進制的每個數去乘以2的相應次方,小數點後則是從左往右
例如:二進制數1101.01轉化成十進制
1101.01(2)=1*20+0*21+1*22+1*23+0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)
所以總結起來通用公式為:
abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)
方法二
或者用下面這種方法:
把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。
2的0次方是1(任何數的0次方都是1,0的0次方無意義)
2的1次方是2
2的2次方是4
2的3次方是8
2的4次方是16
2的5次方是32
2的6次方是64
2的7次方是128
2的8次方是256
2的9次方是512
2的10次方是1024
2的11次方是2048
2的12次方是4096
2的13次方是8192
2的14次方是16384
2的15次方是32768
2的16次方是65536
2的17次方是131072
2的18次方是262144
2的19次方是524288
2的20次方是1048576
即:
2的次方
此時,1101=8+4+0+1=13
再比如:二進制數100011轉成十進制數可以看作這樣:
數字中共有三個1即第六位一個,第二位一個,第一位一個(從右到左),然後對應十進制數即2的0次方+2的1次方+2的5次方,即
100011=32+0+0+0+2+1=35
F. 將二進制轉換成十進制的方法是
將二進制轉換成十進制的方法是「乘權求和」。
以小數點左一位的權值為1,每向左一位,權值乘以2;每向右一位,權值除以2。
G. 二進制轉化成十進制有什麼簡便方法
進制轉換:
根據二進制的原則「逢二進一」,我們把2的n次方列出分別是:
20=1 21=2 22=4 23=8 24=16 25=32 26=64……
「8421」法的原理說白了就是一種湊數法,按2的n次方的值列出,根據不同的情況進行「湊數」。
一、對於二進制轉換成十進制數
例如:二進制數1010轉換成十進制數
8 4 2 1
二進制數: 1 0 1 0 (結果為凡是1對應的數相加:8+2=10)
例1:110轉換成十進制數
8 4 2 1
1 1 0 (結果為凡是1對應的數相加:4+2=6)
例2:11100轉換成十進制數
16 8 4 2 1
1 1 1 0 0 (結果為凡是1對應的數相加:16+8+4=28)
二、對於十進制轉換成二進制數
例如:十進制數不勝數10轉換成二進制數
8 4 2 1 (因為10=8+2)
1 0 1 0 (故凡是湊到的8和2下面都是1,沒有湊到的為0)
例3:十進制數6轉換成二進制數
8 4 2 1 (因為6=4+2)
0 1 1 0 (故凡是湊到的4和2下面都是1,沒有湊到的為0)
例4:十進制數28轉換成二進制數
16 8 4 2 1 (因為16+4+8=28)
1 1 1 0 0 (湊到的為1,沒有湊到的為0)