程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C 說話進制之間的轉換

C 說話進制之間的轉換

編輯:關於C++

C 說話進制之間的轉換。本站提示廣大學習愛好者:(C 說話進制之間的轉換)文章只能為提供參考,不一定能成為您想要的結果。以下是C 說話進制之間的轉換正文


二進制、八進制和十六進制向十進制轉換都長短常輕易的,就是“按權相加”。

所謂“權”,也即“位權”。例如,十進制第1位的位權為100=1,第2位的位權為101=10,第3位的位權為102=100;而二進制第1位的位權為20=1,第2位的位權為21=2,第3位的位權為22=4。設數字所采取的進制為N(基數也是N),那末第 i 位的位權為 N(i-1)

分歧進制轉換為十進制舉例:

二進制:1001 = 1×23 + 0×22+ 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9

二進制:101.1001 = 1×22 + 0×21+ 1×20+ 1×2-1+ 0×2-2 + 0×2-3 + 1×2-4= 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625

八進制:0302 = 3×82 + 0×81+ 2×80 = 192 + 0 + 2 = 194

八進制:0302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375

十六進制:0Xea7 = 14×162 + 10×161 + 7×160= 3751

十進制轉換為二進制——輾除法

上節的表格中給出了簡略的十進制和二進制的轉換關系,要想取得更多的轉換關系,可使用輾除法。輾除法也就是“除模取余”法。除模取余就是將一個幾進制的數轉化成另外一個進制時, 另外一個進制的基數就是模,用將要轉化的進制數除以模,取它的余數。

下圖以十進制的“19”轉換為二進制為例停止講授:

如圖所示,以2為除數,一向相除下去,直到商為0,余數則為求得的二進制數。

留意:余數要倒序分列,也就是說,最早求得的余數排在二進制的最初面,最初求得的余數排在二進制的最後面。下面的例子中,最初求得的二進制數為 10011。

固然其他進制也能夠依照輾除法來轉換,然則比擬費事,上面引見更簡略的辦法。

二進制和八進制的轉換

二進制向八進制的轉換是每三位二進制數轉換為一名八進制數,運算的次序是從低位向高位順次停止,高位缺乏三位用零彌補。以二進制“1011101”為例,以下圖所示:

轉換的成果為:1011101 = 0135

八進制向二進制轉換的思緒是八進制的一名轉換為二進制的三位,運算的次序是從低位向高位順次停止。異樣以八進制“0135”為例,以下圖所示:

轉換的成果為:0135 = 1011101

二進制和十六進制的轉換

二進制向十六進制轉換時,四位轉換成十六進制的一名,運算的次序是從低位向高位順次停止,高位缺乏四位用零補。以“1110011”轉換成十六進制為例,以下圖所示:

轉換的成果為:1001011101 = 0X25D

十六進制向二進制轉換,就是把十六進制的一名轉換成二進制的四位,留意運算的次序是從低位向高位順次停止。異樣以十六進制“0X25D”為例,以下圖所示:

 以上就是對 C說話進制直接轉化做的一個材料整頓,進修進制轉換的同伙可以參考下

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved