1樓:匿名使用者
^用位加權乘,積相加法比較
簡單。如8ffc035b轉換為十進位制(最低位是16^0,依次向左):
8ffc035b(16)=8x16^7+fx16^6+fx16^5+cx16^4+0x16^3+3x16^2+5x16^1+bx16^0
=2147483648+15x16^6+15x16^5+12x16^4+0+768+80+11
=2147483648+251658240+15728640+786432+768+80+11
=2415657819(10)。
也可以用「用10除,反向取餘數」法,注意被除數是16進位制就是了,如16進位制數abc化為10進位制……
abc(16)÷10 = 112 餘 8
112(16)÷10 = 1b 餘 4
1b(16)÷10 = 2 餘 7
2(16)÷10 = 0 餘 2
反向取餘數是2748(10)
2樓:匿名使用者
一個數的每一位都有一個權值,例如十進位制數2039它可以表示為:2*10^3+0*10^2+3*10^1+9*10^0那麼任何進位制的數都一樣,例如16進位制數8a30e它就是8*16^4+10*16^3+3*16^2+0*16^1+14*16^0=566030,算出來的值就是這個數對應的十進位制數
又例如k進位制數abcdef(這是一個6位數)它就是a*k^5+b*k^4+c*k^3+d*k^2+e*k^1+f*k^0
這樣想就十分簡單了
3樓:樹木愛水閏
一、轉換的思路分析:4個2進位制位為一個16進位制數,2進位制1111為16進位制f,2進位制中千位的1=8,百位的1=4,十位的1=2,個位的1=1,將各個位的數作相應轉換再相加,的到的數就是10進位制數0-15,可輕鬆轉換成16進位制。如01011100,可看成是兩組2進位制數0101和1100,則這個數就是16進位制的5c。
二、例子:
用位加權乘,積相加法比較簡單。如8ffc035b轉換為十進位制(最低位是16^0,依次向左):
1、8ffc035b(16)=8x16^7+fx16^6+fx16^5+cx16^4+0x16^3+3x16^2+5x16^1+bx16^0
2、=2147483648+15x16^6+15x16^5+12x16^4+0+768+80+11
3、=2147483648+251658240+15728640+786432+768+80+11
4、=2415657819(10)。
三、關於二進位制
1、二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。
當前的計算機系統使用的基本上是二進位制系統,資料在計算機中主要是以補碼的形式儲存的。計算機中的二進位制則是一個非常微小的開關,用「開」來表示1,「關」來表示0。
2、20世紀被稱作第三次科技革命的重要標誌之一的計算機的發明與應用,因為數字計算機只能識別和處理由『0』.『1』符號串組成的**。其運算模式正是二進位制。
19世紀愛爾蘭邏輯學家喬治布林對邏輯命題的思考過程轉化為對符號"0''.''1''的某種代數演算,二進位制是逢2進位的進位制。0、1是基本算符。
因為它只使用0、1兩個數字符號,非常簡單方便,易於用電子方式實現。
4樓:樊有道
16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……
所以,在第n(n從0開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。
例:2af5換算成10進位制:
用豎式計算:
第0位: 5 * 16^0 = 5
第1位: f * 16^1 = 240
第2位: a * 16^2= 2560
第3位: 2 * 16^3 = 8192
-------------------------------------
10997
直接計算就是:
5 * 16^0 + f * 16^1 + a * 16^2 + 2 * 16^3 = 10997
5樓:匿名使用者
比如16進位制的數是12,換成10進位制就是(1*16+2=18)。
又比如16進位制的數是2a ,換乘10進位制就是(2*16+10=42)。
6樓:匿名使用者
十六進位制由0-9,a-f,組成。與10進位制的對應關係是:0-9對應0-9;a-f對應10-15;n進位制的數可以用0---(n-1)的數表示超過9的用字母a-f。
十六進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……
所以,在第n(n從0開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。
假設有一個十六進數 2af5
直接計算就是:
5 * 16^0 + f * 16^1 + a * 16^2 + 2 * 16^3 = 10997
也可以用豎式表示:
第0位: 5 * 16^0 = 5
第1位: f * 16^1 = 240
第2位: a * 16^2 = 2560
第3位: 2 * 16^3 = 8192
-------------------------------------
10997
現在可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。
假設有人問你,十進數 1234 為什麼是 一千二百三十四?你儘可以給他這麼一個算式:
1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0
7樓:門鎖壞了
最簡單的就是按計算器,手機和電腦都有,
8樓:山東日照的小子
?二進位制轉八進位制 三三分組對應
?二進位制轉十進位制 小數點為起點列橫式
例如abcdef(b)=f*2^0+e*2^1+d*2^2+c*2^3+b*2^4+a*2^5 所加之和就是所表示的十進位制
?二進位制轉十六進位制 四四分組對應
?八進位制轉二進位制 單個陣列 ,每個數對應二進位制四位數的後三位,依次排序而得到二進位制數
?八進位制轉十進位制 小數點為起點列橫式,例如
abcd(o)=d*8^0+c*8^1+b*8^2+a*8^3 所加之和就是所轉變為的十進位制
?八進位制轉十六進位制 沒有一步到位的方法,可以先轉十進位制,或者先轉二進位制,再做變化。
?十進位制轉二進位制 用二除十進位制數,然後倒序排列,就是為二進位制數列。
?十進位制轉八進位制 用八除十進位制數,然後倒序排列,就是所得八進位制數列。
?十進位制轉十六進位制 用十六除十進位制數,然後倒序排列,就是所得十六進位制數列。
?十六進位制轉二進位制 單個數字轉二進位制,不足用0補充,然後依次排序即可。
?十六進位制轉八進位制 可先轉二進位制或者十進位制,先轉二進位制比較快。
?十六進位制轉十進位制 以小數點為起點列橫式。例如 轉3b5a7(h)
等於7*16^0+a*16^1+5*16^2+b*16^3+3*16^4 的和即是所轉十進位制數。
9樓:楊
8a3.14轉換成十進位制
十六進位制轉換成十進位制的具體演算法?
10樓:sa_sa_陳
十六進位制轉換成十進位制的具體演算法是:
1、首先明白16進位制數(從右到左數是第0位,第1位,第2位……)的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方,依次這樣排列下去。
2、明白abcdef表示的二進位制數字分別是10,11,12,13,14,15。
3、十六進位制轉換成十進位制的公式是:要從右到左用二進位制的每個數去乘以16的相應次方,然後這些數字相加就是了。
例1:2af5換算成10進位制:
第0位: 5 * 16^0 = 5
第1位: f * 16^1 =15*16^1= 240
第2位: a * 16^2= 10* 16^2=2560
第3位: 2 * 16^3 = 8192
結果就是:5 * 16^0 + 15 * 16^1 + 10 * 16^2 + 2 * 16^3 = 10997
例2:ce換算成10進位制:
第0位:e*16^0=14*16^0=14
第1位:c*16^1=12*16^1=192
結果就是:14*16^0+12*16^1=206
16進位制即逢16進1,每一位上可以是從小到大為0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f共16個大小不同的數。16進位制轉換即16進位制與其他不同進位制之間的換算轉換。
11樓:匿名使用者
(一)十六進位制化為十進位制方法:
用個位數+十位數*16+百位數*256+千位數*4096+...相乘的時候,前面的一位數乘以的數是十後面一位數乘以數的16倍.
具體案例如下:
(ab)=a×16+b=(171)
(abc)=a×256+b×16+c=(2748)(二)十進位制化為十六進位制的方法
把十進位制轉十六進位制按照除16取餘,直到商為0為止。(具體用法如下圖)
12樓:匿名使用者
16進位制到十進位制的轉換方法:
16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……
所以,在第n(n從0開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。
例:2af5換算成10進位制:
用豎式計算:
第0位:5 * 16^0 = 5
第1位:f * 16^1 = 240
第2位:a * 16^2= 2560
第3位:2 * 16^3 = 8192
-------------------------------------
10997
直接計算就是:
5 * 16^0 + f * 16^1 + a * 16^2 + 2 * 16^3 = 10997
13樓:玩玩貓兒
十六進位制是逢十六進一,轉換成十進位制要逢十進一的
14樓:
^十六進位制
轉十進位制:
從個位起第i位乘以16的i-1次方
比如0x233 = 2*16^2 + 3*16^1 + 3*16^0 = 512 + 48 + 3 = 563
0x666 = 6*16^2 + 6*16^1 + 6*16^0 = 1536 + 96 + 6 = 1638
0x7fff = 7*16^3+15*16^2+15*16^1+15*16^0=28672+3840+240+15=32767
十進位制轉十六進位制:
除十六取餘數
比如233 ÷ 16 = 14 ......914 ÷ 16 = 0 ......14
倒著寫就是0xe9
32768 ÷ 16 = 2048 ......02048 ÷ 16 = 128......0128 ÷ 16 = 8......0
8 ÷ 16 = 0......8
倒著寫就是0x8000
演算法實現:
十六進位制轉十進位制:
#include
#include
char buf[20];
int len,_pow,ans=0;
int trans(char hex)
int main()
printf("%d\n",ans);
return 0;
}十進位制轉十六進位制:
#include
char trans(int deci)
int n,len=0;
char hex[20];
int main()
for (int i=len-1;i>=0;i--)putchar(hex[i]);//跟手算一樣,要倒著輸出return 0;}
十六進位制帶小數轉換成十進位制,十六進位制小數轉換為十進位制怎麼轉
十六進位制 是可以直接轉copy成 十進位制 的例如 126.398h 整數部分126 百位 1 16 16 16的平方 十位 2 16 16的一次方 個位 6 16的零次方 小數部分398 3 16 1 9 16 2 8 16 3 十六進位制數bai和十進位制數類似,以小數du點為界,整數部分從z...
如何將十進位制轉換成八進位制和十六進位制
大體上源 2,8,16進位制 bai 轉du為 10進位制,用 zhi乘法.10進位制 轉為 2,8,16進位制,用除法.但是,8進位制轉16進位制,一般會用2進位制 作為中間轉換dao.我們學完了所有進位制 10進位制,8進位制,16進位制數的表達方式。很重要的一點,c c 中,10進位制數有正負...
這個數,分別轉換成十進位制,二進位制,十六進位制怎麼轉呢
11011010 告訴你方法吧 八進位制 0 7 分成三組 111 對應著十進位制的421 從右往左吧數字串 3個分成一組 不足三位左面補充0 然後將計算出來的結果排列起來就可以了 11011010就是 011 011 010 021 0 2 1 3 021 0 2 1 3 020 0 2 0 2 ...