進位制轉換:
基礎:
二進位制用的數為:0/1
八進位制用的數為:0/1/2/3/4/5/6/7
十進位制用的數為:0/1/2/3/4/5/6/7/8/9
十六進位制用的數為:0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15
->因為10以上的不好表示,10/11/12/13/14/15 用字母表示 a/b/c/d/e/f
->因此十六進位制的數表示為:0/1/2/3/4/5/6/7/8/9/a/b/c/d/e/f
- 二進位制轉換為十進位制
舉個例子: a=100110;
則十進位制為 (2^0x0)+(2^1x1)+(2^2x1)+...+2^5x1=0+2+4+0+0+32=38
- 八進位制轉換為十進位制
舉個例子: a=345
則十進位制為 (8^0x5)+(8^1x4)+(8^2x3)=5+32+64x3=229
- 十六進位制轉換為十進位制
舉個例子: a=6af
則十進位制為 (16^0x15)+(16^1x13)+(16^2x6)=15+16x13+16x16x6=1759
- 十進位制轉換為十六進位制
or
十進位制轉換為八進位制or
十進位制轉換為二進位制
假設十進位制數為: asdf/x //x可以是16或8或2 看你轉換為什麼進位制
asdf/x=?....a;
if(?<x) 則 轉換後結果為?a
if(?>x) 則 繼續往下除
?/x=??....b;
if(?<x) 則 轉換後結果為??ba
if(?>x) 則 繼續往下除
??/x=???....c;
if(?<x) 則 轉換後結果為???cba
if(?>x) 則 繼續往下除
後面不舉例子了; 通過十進位制為媒介, 可以實現四個進位制任意轉換;
萌新小白, 很可能一些方面寫的不對, 歡迎指正; 大家一起變得更強!