① 關於計算機的進制轉換方法
進數轉換:
1、二進制數、十六進制數轉換為十進制數(按權求和)
二進制數、十六進制數轉換為十進制數的規律是相同的。把二進制數(或十六進制數)按位權形式展開多項式和的形式,求其最後的和,就是其對應的十進制數——簡稱「按權求和」.
例如:把(1001.01)2 二進制計算。
解:(1001.01)2
=8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)
=8+0+0+1+0+0.25
=9.25
2、十進制數轉換為二進制數,十六進制數(除2/16取余法)
整數轉換.一個十進制整數轉換為二進制整數通常採用除二取余法,即用2連續除十進制數,直到商為0,逆序排列余數即可得到――簡稱除二取余法.
例:將25轉換為二進制數
解:25÷2=12 余數1
12÷2=6 余數0
6÷2=3 余數0
3÷2=1餘數1
1÷2=0 余數1
所以25=(11001)2
同理,把十進制數轉換為十六進制數時,將基數2轉換成16就可以了.
例:將25轉換為十六進制數
解:25÷16=1 余數9
1÷16=0 余數1
所以25=(19)16
3、二進制數與十六進制數之間的轉換
由於4位二進制數恰好有16個組合狀態,即1位十六進制數與4位二進制數是一一對應的.所以,十六進制數與二進制數的轉換是十分簡單的.
十六進制數轉換成二進制數,只要將每一位十六進制數用對應的4位二進制數替代即可――簡稱位分四位。
例:將(4AF8B)16轉換為二進制數.
解: 4 A F 8 B
0100 1010 1111 1000 1011
所以(4AF8B)16=(1001010111110001011)2
所以(111010110)2=(1D6)16
轉換時注意最後一組不足4位時必須加0補齊4位
(1)轉換進制的簡便方法擴展閱讀:
數制轉換的一般化
R進制轉換成十進制:任意R進制數據按權展開、相加即可得十進制數據。
例如:N = 1101.0101B = 1*2^3+1*2^2+0*2^1+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4 = 8+4+0+1+0+0.25+0+0.0625 = 13.3125
N = 5A.8H = 5*16^1+A*16^0+8*16^-1 = 80+10+0.5 = 90.5
2)十進制轉換R 進制
十進制數轉換成R 進制數,須將整數部分和小數部分分別轉換。
② 進制轉換有什麼好的簡便方法嗎高手解答一下
電腦系統里的計算器就有進制轉換,點「查看」,選「程序員」,2、8、10、16進制可以互相轉換
③ 各種進制間的換算方法是什麼,有簡便方法嗎
給你一個簡單的程序,也許能幫到你
④ 十進制二進制互相轉換,其他的進制有簡便方法嗎
十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。
具體做法是:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為小於1時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
原理:
眾所周知,二進制的基數為2,我們十進制化二進制時所除的2就是它的基數。談到它的原理,就不得不說說關於位權的概念。某進制計數制中各位數字元號所表示的數值表示該數字元號值乘以一個與數字元號有關的常數,該常數稱為 「位權 」 。
位權的大小是以基數為底,數字元號所處的位置的序號為指數的整數次冪。十進制數的百位、十位、個位、十分位的權分別是10的2次方、10的1次方、10的0次方,10的-1次方。二進制數就是2的n次冪。
(4)轉換進制的簡便方法擴展閱讀:
十進制小數轉換為二進制小數:
十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進制的最後一位。或者達到所要求的精度為止。
然後把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,後取的整數作為低位有效位。
原理:
假設一十進制小數B化為了二進制小數0.ab的形式,同樣按權展開,得B=a(2^-1)+b(2^-2)
因為小數部分的位權是負次冪,所以我們只能乘2,得2B=a+b(2^-1)
注意a變成了整數部分,我們取整數正好是取到了a,剩下的小數部分也如此。
值得一提的是,小數部分的按權展開的數位順數正好和整數部分相反,所以不必反向取余數了。
參考資料:網路-十進制轉二進制
⑤ 二進制轉十六進制簡便方法
十六進制就是逢16進1
0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 十五個字元組成
比如 1+f=10 (滿16了,進1位)
計算機中常用的數的進制主要有:二進制、八進制、十六進制,學習計算機要對其有所了解。
2進制,用兩個阿拉伯數字:0、1;
8進制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;
10進制,用十個阿拉伯數字:0到9;
16進制就是逢16進1,但 們只有0~9這十個數字,所以 們用a,b,c,d,e,f這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
二進制轉換十六進制
十六進制換二進制的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:
0101 1011 1011
運算為:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由於10為a,所以11即b)
1011 = 8+2+1 = 11(由於10為a,所以11即b)
結果為:5bb
⑥ 進制之間轉換最簡便的方法
下載轉換軟體.
⑦ 二進制轉換十進制的簡單方法
方法一:從右到左用二進制的每個數去乘以2的相應次方,小數點後則是從左往右
例:二進制數1101.01轉化成十進制
1101.01(2)
=1*2【0】+0*2【1】+1*2【2】+1*2【3】 +0*2【-1】+1*2【-2】
=1+0+4+8+0+0.25=13.25(10)
方法二:把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。
對於有n位整數,m位小數的二進制數用加權系數展開式表示,可寫為:N(2)=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2+……+a-m×2-m(10)式中aj表示第j位的系數,它為0和1中的某一個數。
例:二進制數1101轉化成十進制
1101(2)
=1*2【3】+1*2【2】+0*2【1】+1*2【0】
=13(10)
注意:
1、【】括弧內數字代表次方,如【2】為二次方,【-1】為負一次方。
2、()括弧內代表進制數,(2)為二進制,(10)為十進制。
以下為二進制轉是進制代碼:
int readint(int a) //a 是傳入二進制位數
{
int sum = 0;
while (a--) {
sum *=2;
sum += getchar() - '0'; // getchar 讀入相應十進制的每一位
}
return sum; // sum 是相應的十進制
}
⑧ 進制轉化有沒有簡便方法
Windows有自帶這個工具啊。。。
開始-所有程序-附件-計算器-查看-科學型。。
單擊十進制,再輸入數字,再單擊二進制,數字就轉換好了。。
至於負數,目前沒有好的辦法。。
⑨ 二進制怎樣轉換成十進制的簡便方法
把二進制數存放為字元串,用函數 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。
⑩ 二進制轉為 8 進制,用什麼簡便的方法計算
;附件>計算器>查看>科學型 就可以打開科學計算器
例1:二進制 101010 轉 十進制
方法:點一下二進制,輸入101010,點一下十進制 得出結果42
二:筆算,各種進制 先轉成十進制 然後轉換成其他進制。這個方法可以完成任意進制的轉換
★首先說一下,如何將二進制 轉成十進制
一個二進制數,從最後一位開始算,依次列為第0、1、2...n位
如11010 從右開始數 分別為 01011
0 第0位
1 第1位
0 第2位
1 第3位
1 第4位
二進制中的0不算,只看1出現在第幾位,算出2的 第n次方,然後將他們全都加起來,其中的1出現在 第1位 第3位 第4位,
最終答案就是:1乘二的1次方+1乘二的3次方+1乘二的4次方 =26
八進制轉換成十進制 是一樣的道理,只是2的n次方換成了 八 的n次方
如八進制 1234 轉成十進制
4 第0位
3 第1位
2 第2位
1 第3位
4*八的0次 + 3*八的1次方 + 2*八的2次方 + 1*八的3次方= 2257
十六進制轉換成十進制 是一樣的道理,只是八的n次方換成了 十六 的n次方
特別注意的是,十六進制0到16標示為 0123456789ABCDEF 其中A=10 F=15 中間類推,不累述。
如十六進制 A5B6 轉成十進制
6 第0位
B 第1位
5 第2位
A 第4位
計算:將字母轉換成相應的數字即可 得出結果
6*十六的0次方 + B*十六的1次方 + 5*十六的2次方 + A*十六的4次方
6*十六的0次方 +11*十六的1次方 + 5*十六的2次方 +10*十六的4次方=42422
★下面來研究一下 如何將 十進制轉換成 各種進制
☆12345 轉成 二進制 就是12345 除以2
☆12345 轉成 八進制 就是12345 除以8
☆12345 轉成 十六進制 就是123456除以16
123 轉成 二進制 就是123 除以2 每次求余
123/2=61 餘1
61/2=30 餘1
30/2=15 餘0
15/2=7 餘1
7/2=3 餘1
3/2=1 餘1
余數從下往上排列 二進制就是 111011, 再把最後一步3/2=1 中的1 家在最前面得 1 111011 就是二進制結果了。
123 轉成 八進制進制 就是123 除以8 每次求余
123/8=15 餘3
15/8=1 餘7
把最後15/8=1 中的1 算上, 余數從下往上排列 記過就是 173
123 轉成 16進制進制 就是123 除以16 每次求余
123/16=7 餘11 16進制中 11用B表示
把最後123/16=1 中的1 算上, 余數從下往上排列 記過就是 7B
為了更能說明問題 換個大點的數
十進制 12345轉換成16進制
12345/16=771 餘9
771/16 =48 餘3
48/16 =3 餘0
把最後48/16=3 中的3 算上,余數從下往上排列 記過就是 3039
從頭到位看明白之後,你就可以完成任意 進制的轉換了。
以十進制為中轉站:各種進制 轉 十進制 轉 各種進制!!
回答結束,以上內容 本人原創編輯: 祝好運!!