十進位制的轉換與任意進製的互轉

2021-10-02 00:23:15 字數 2130 閱讀 2964

十進位制轉任意進製時,將這個十進位制數除以進製數,比如2(也就是十進位制轉二進位制),得到商和乙個從0~1的餘數,然後再以這個商為被除數,除了進製數2,繼續得到商和乙個從0~1的餘數。以此方式不斷相除,直到得到的商為0為止。此時,得到若干個餘數,把這些餘數按從後到先的順序排列起來,那麼這個排列起來的值即為該十進位制轉換成二進位制的值。計算如圖所示:

最後得到的餘數為二進位制的非零的最高位,最先得到的餘數為二進位制的最低位,可知:十進位制數9轉換成二進位制數為1001。

任意進製轉十進位制時,以二進位制數1001為例:該進製的最低位(右一)的值1就表示實際的十進位制值1,次低位(右二)的值0表示進製數2的一次方的0倍即為0,次次低位(右三)的值0表示進製數2的二次方4的0倍即為0,最高位(左一)的值1表示進製數2的三次方8的1倍即為8,以此類推,將每位得到的十進位制數相加得到9,該和即為二進位制數1001對應的十進位制數。計算如圖所示:

以php**為例,實現十進位制與三十六進製制的互相轉換:

1、定義碼表,指定十進位制和三十六進製制的對應碼:

//十進位制與三十六進製制對應的碼表

$dic = array(

0 => '0',

1 => '1',

2 => '2',

3 => '3',

4 => '4',

5 => '5',

6 => '6',

7 => '7',

8 => '8',

9 => '9',

10 => 'a',

11 => 'b',

12 => 'c',

13 => 'd',

14 => 'e',

15 => 'f',

16 => 'g',

17 => 'h',

18 => 'i',

19 => 'j',

20 => 'k',

21 => 'l',

22 => 'm',

23 => 'n',

24 => 'o',

25 => 'p',

26 => 'q',

27 => 'r',

28 => 's',

29 => 't',

30 => 'u',

31 => 'v',

32 => 'w',

33 => 'x',

34 => 'y',

35 => 'z',

);//基數為36

$base = count($dic);

2、定義方法,十進位制轉三十六進製制:

/**

* 十進位制轉指定位數的n進製

* @param int $number 要轉的十進位制數

* @param int $len 轉n進製的位數,不足位數高位補0

* @return bool|string

*/function encode($number, $len) else

}//根據指定的長度在取模結果的右側補0

$codes = array_pad($codes, $len, '0');

$codes = array_reverse($codes);

$code = implode('', $codes);

return $code;}}

3、定義方法,三十六進製制轉十進位制:

/**

* n進製轉十進位制

* @param string $code

* @return bool|int|string

*/function decode($code)

}$number = 0;

$len = strlen($code);

if ($len > 0)

}return $number;

}

將碼表的對應值無規則打亂,只要碼表不被洩露就可以用來作為一種加密方式。

十進位制和任意進製的轉換

s.push 入棧s.top 取棧頂元素 s.pop 出棧s.empty 棧不為空 1.十進位制轉換成八進位制 二進位制 include include include windows.h using namespace std int main while s.empty system pause...

python的十進位制與任意進製的轉換

將任意進製轉換成十進位制 print int 54 8 表示把8進製的54轉換成十進位制數並輸出結果。8可以是2 8,10,16等進製數 將十進位制轉換成任意進製 def f n,x n為待轉換的十進位制數,x為機制,取值為2 16 a 0,1,2,3,4,5,6,7,8,9,a b c d e f...

任意進製轉換十進位制 c語言

也不算是任意進製,最高只能到十六進製制。見諒!如下 include include include define maxsize 100 靜態順序棧儲存的最大空間 const char f 0123456789abcdef 定義乙個全域性常量 方便匯出十進位制以上的不為數字形式的資料的顯示 void...