我想請問說如果我有個數是:7DB:那我要該如何換算成十進位跟二進位
不知道是否有人幫我回答這各問題
感謝
2006-10-27 05:09:12 · 5 個解答 · 發問者 林國華 1 in 電腦與網際網路 ➔ 程式設計
那如果換算成~幾bit~幾byt~幾mb~幾k勒
在麻煩知道的大大在告訴我囉
感謝
2006-10-27 05:53:54 · update #1
我是2各問題都想問
至於我的第一個問題我已大概了解
至於第二個
我不懂
麻煩知道人的在告知我
感謝
2006-10-27 07:29:34 · update #2
16進位中:A代表10,B代表11,C代表12,D代表13,E代表14,F代表15,
所以7DB=7*16^2+13*16+11=2011(就是十進位),
要換算成二進位比較麻煩但比較容易了解的方法就是因數分解法,
用 2 一直去除所得的餘數部份就是答案:111 1101 1011 ,
另外的解法就是將 7DB 的每一個數字因數分解,
用 2 去除所得的餘數部份代表的就是每一個數字的二進位答案,
7:111 ; D:1101 ; B:1011
最後答案:111 1101 1011 ,
2006-10-27 05:44:50 · answer #1 · answered by ? 4 · 0⤊ 0⤋
我不懂為什麼要用程式來轉
如果要寫程式來轉,為什麼不用小算盤直接轉換不是更快?
樓主不正是想知道轉換的算法嗎?
另外to 樓主
你的第一個問題是不同進位法的換算
後面那個問題是單位的換算
是完全不同的問題
不知道你想問的到底是什麼
2006-10-27 07:00:17 · answer #2 · answered by ERIC LIN 7 · 0⤊ 0⤋
奇怪,為什麼都沒人想要用C語言來解決呢?
#include
main() {
int i;
printf( "Hexdigit to Decdigit converter.\n" );
do {
printf( "Input HEXDIGIT to convert: " );
scanf( "%X", &i ); // 入輸入十六進位
if( i != 0 ) {
printf( "Hex: %4X ==> %5d\n", i, i ); // 輸出十進位
}
} while ( i != 0 );
}
至於轉二進位,就真的要寫程式轉了
2006-10-27 06:03:17 · answer #3 · answered by 暗黑歐吉尚 3 · 0⤊ 0⤋
(一)16進位轉十進位
首先16進位要轉成十進位則須先知道 7=7 D=13 B=11
而最右邊為最小值
所以7DB(16進制)=[11*(16的零次方)]+[13*(16的一次方)]+[7*(16的二次方)]
=2176(10進制)
(二)16進制轉二進制
16是2的四次方,因此直接將16進制依序以一個數字4個位元排列
7=0111 、D=1101、 B=1011
7DB(16進制)=0111 1101 1011(2進制)
2006-10-27 09:25:29 補充:
不好意思,更正:16進位轉十進位7DB轉十進制為2011
2006-10-27 05:23:53 · answer #4 · answered by ? 5 · 0⤊ 0⤋
10進位是20112進位是11111011011用小算盤就可以換了
2006-10-27 05:15:58 · answer #5 · answered by ? 7 · 0⤊ 0⤋