2010-08-10 14 views
2

這是有關如何執行數之間的轉換二進制到八進制,八進制爲十六進制,二進制爲十六進制。(在所有這些十進制沒有那裏,無論是在源或目標)數字轉換的一般方法?

每當小數無論是在參與來源或目的地我有一個一般的方法,因爲

  • 如果十進制是源,請使用目標基址對該數字執行mod操作。 (並繼續以相同的方式,並得到結果),
    :轉換十進制20爲八進制數
    • 20模8 = 4
      • 2 = 2

所以在八月是24。這樣你就可以爲Decimal做任何事情(二進制,十六進制)。

  • 如果十進制是目的地,則執行乘法運算,將源的基數從0到N,從左到右開始。並加起來得到小數。
    :二進制轉換1010到十進制
    • 0:0×2 ** 0 = 0
      • 1:1×2 ** 1 = 2
        • 0:0 X 2 ** 2 = 0
          • 1:1×2 ** 3 = 8

總和是10十進制。這樣你可以做任何事情(八進制,十六進制)到十進制。

問題
是否有任何類似一般的邏輯,我可以使用八進制,十六進制和二進制之間的轉換?

希望以上內容是明確的..否則讓我知道。

回答

3

二進制與八進制或十六進制之間的轉換甚至比十進制更容易。只需將二進制數字分成3或4組(取決於十進制或十六進制),然後將每組轉換爲數字。 (如果不具備的3成或4個二進制數位,剛剛離開墊用零的數量的倍數。)

實施例:

111101111010 binary 
1111 0111 1010 
    F 7 A 
      F7A hex 

111101111010 
111 101 111 010 
    7 5 7 2 
      7572 oct 

轉換回是正好相反。八進制或十六進制中的每個數字都直接轉換爲3或4個二進制數字。

+0

非常好。非常感謝。 – user412125 2010-08-11 17:49:35