計算機中的進制轉換

一、簡介
在計算機中,所有的數據在計算機底層都是以二進制的形式存儲的。二進制數據,無論是正數,還是負數,都以補碼的方式進行存儲。
1)涉及的概念: 什麼是原碼、反碼和補碼?

  • 原碼
    原碼是一種計算機中對數字的二進制定點表示方法,其在原數值的二進制表示前面添加了一個符號位,即最高位,用0表示正數,用1表示負數,其餘位代表原數值大小。
    如: +11的原碼爲00001011,-11的原碼就是10001011。

注意:正數的原碼、反碼、補碼相同。

  • 負數的反碼
    反碼是除符號位外,其餘位對原碼按位取反,最高位符號位必須爲1(因爲是負數)。
    如:-11的反碼爲11110100。

  • 負數的補碼
    補碼是反碼加1的結果。
    如:-11的補碼爲11110101。

2)二進制原碼、反碼和補碼之間的轉換在這裏插入圖片描述
二、計算機中的進制
在計算機中,數據可以表示爲二進制、八進制、十進制和十六進制等。所謂進制,指縫幾進一,如二進制,每逢2進一位。

  • 二進制
    二進制用0和1表示,每滿二進一。計算機以二進制補碼的形式保存所有整數。
  • 八進制
    八進制用0-7八個數字表示每一位,滿八進一。以數字0開頭表示八進制數據。
  • 十進制
    十進制用0-9十個數字表示每一位,滿十進一。
  • 十六進制
    十六進制用0-9及A-F表示,以0x或0X開頭表示十六進制數據,A-F不區分大小寫。

三、進制轉換
1)二進制與十進制

  • 二進制轉十進制
    如二進制00001011轉爲十進制:
    最高位代表符號位,其餘位進行計算。最高位0代表是正數,其餘位20+1x21+0x22+1x23=1+2+0+8=11,即十進制爲11。

  • 十進制轉二進制
    如十進制11轉爲二進制,除2取餘數的逆。
    在這裏插入圖片描述
    計算到商是0爲止,此時取餘數的逆即是轉換後的二進制,如圖爲0000 1011。

2)二進制與八進制

  • 二進制轉八進制
    由於每三位二進制剛好可以表示一位八進制(1+2+4=7),因此在二進制轉八進制時,可以從二進制的低位到高位,每三位二進制數轉爲一位八進制數,即進行三三分組轉換即可。
    在這裏插入圖片描述
    如下二進制轉爲八進制爲013。
    在這裏插入圖片描述
    注意:在向左(或向右)取三位時,取到最高位(最低位)如果無法湊足三位,就可以在小數點的最左邊(或最右邊)補0

  • 八進制轉二進制
    八進制轉爲二進制時,需要將每一位八進制轉爲三位二進制表示即可,注意不足位時需要補0。
    如將013轉爲二進制,0代表是八進制表示法,八進制1可以表示爲二進制的001,八進制的3可以表示爲二進制的011,然後合併,即00001011,不足位,在前面補了兩個0。

2)二進制與十六進制

  • 二進制轉十六進制
    由於每四位二進制剛好可以表示一位十六進制,因此在二進制轉十六進制時,可以從二進制的低位到高位,每四位二進制數轉爲一位十六進制數,即進行四四分組轉換即可。
    如下二進制轉爲十六進制爲0XB
    在這裏插入圖片描述
  • 十六進制轉二進制
    十六進制轉爲二進制時,需要將每一位十六進制轉爲四位二進制表示即可,注意不足位時需要補0。如將0XB轉爲二進制表示爲00001011。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章