李樹生 4728 字 1個月前

十六進製

(2 / 4)
登入後報錯可獲 3天VIP 免廣告——立即登入

權值為16的1次方,第2位的權值為16的2次方……

所以,在第N(N從0開始)位上,如果是數X(X大於等於0,並且X小於等於15,即:F)表示的大小為X*16的N次方。

假設有一個十六進數2AF5,那麼如何換算成10進製呢?

用豎式計算:2AF5換算成10進製

第0位:5*16^0=5

第1位:F*16^1=240

第2位:A*16^2=2560

第3位:2*16^3=2*4096=8192

直接計算

5*16^0+F*16^1+A*16^2+2*16^3=10997

(別忘了,在上麵的計算中,A表示10,而F表示15)

現在可以看出,所有進製換算成10進製,關鍵在於各自的權值不同。

假設有人問你,十進數1234為什麼是一千二百三十四?你儘可以給他這麼一個算式:

1234=1*10^3+2*10^2+3*10^1+4*10^0

6.2.6十六進製數的表達方法

如果不使用特殊的書寫形式,16進製數也會和10進製相混。隨便一個數:9876,就看不出它是16進製或10進製。

請到𝐨𝐨𝐩.𝐭𝐰查看完整章節

C,C++規定,16進製數必須以0x開頭。比如0x1表示一個16進製數。而1則表示一個十進製。另外如:0xff,0xFF,0X102A,等等。其中的x也不區分大小寫。(注意:0x中的0是數字0,而不是字母O)

以下是一些用法示例:

inta=0x100F;

intb=0x70+a;

至此,我們學完了所有進製:10進製,8進製,16進製數的表達方式。最後一點很重要,C\/C++中,10進製數有正負之分,比如12表示正12,而-12表示負12,;但8進製和16進製隻能表達無符號的正整數,如果你在代碼中寫:-078,或者寫:-0xF2,C,C++並不把它當成一個負數。

6.2.7十六進製數在轉義符中的使用

轉義符也可以接一個16進製數來表示一個字符。如在6.2.4小節中說的\\'?\\'字符,可以有以下表達方式:

\\'?\\'\/\/直接輸入字符

\\'\\77\\'\/\/用八進製,此時可以省略開頭的0

\\'\\0x3F\\'\/\/用十六進製

同樣,這一小節隻用於了解。除了空字符用八進製數\\'\\0\\'表示以外,我們很少用後兩種方法表示一個字符。

6.3十進製數轉換到二、八、十六進製數

6.3.110進製數轉換為2進製數

給你一個十進製,比如:6,如果將它轉換成二進製數呢?

10進製數轉換成二進製數,這是一個連續除2的過程:

把要轉換的數,除以2,得到商和餘數,

將商繼續除以2,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

聽起來有些糊塗?我們結合例子來說明。比如要轉換6為二進製數。

“把要轉換的數,除以2,得到商和餘數”。

那麼:

要轉換的數是6,6÷2,得到商是3,餘數是0。(不要告訴我你不會計算6÷2!)

“將商繼續除以2,直到商為0……

現在商是3,還不是0,所以繼續除以2。

那就:3÷2,得到商是1,餘數是1。

“將商繼續除以2,直到商為0……”

現在商是1,還不是0,所以繼續除以2。

那就:1÷2,得到商是0,餘數是1(拿筆紙算一下,1÷2是不是商0餘1!)

“將商繼續除以2,直到商為0……最後將所有餘數倒序排列”

好極!現在商已經是0。

我們三次計算依次得到餘數分別是:0、1、1,將所有餘數倒序排列,那就是:110了!

6轉換成二進製,結果是110。

把上麵的一段改成用表格來表示,則為:

被除數計算過程商餘數

66\/230

33\/211

11\/201

(在計算機中,÷用\/來表示)

:除連的圖下用使是程過算換的見常更所,間時費點有是還表樣這畫要們我,時試考在是果如

)1:圖(

。數製進二為換轉6將何如遍一算計筆拿己自且並,明說字文及,表,圖照對家大請

。6是就否是製進01成換011下一算計就在現請以所,了數製進01成換轉數製進二將何如會學經已你?嗎6是011數製進二?嗎對果結換轉的們我,天半了說

數製進61、8為換轉數製進012.3.6

。8成變2由數除:化變一唯,似類法方的製進2為換轉和,法方的製進8成換轉數製進01,心開常非

。數製進八成換轉021數製進十將何如,子例個一看來

:示表格表用

數餘商程過算計數除被

0518/\021021

718/\5151

108/\11

。071:為果結,製進8為換轉021

。61成變2由數除:化變一唯,似類法方的製進2為換轉和,法方的製進61成換轉數製進01,心開常非常非

:為則製進61成換轉,021是樣同

數餘商程過算計數除被

8761/\021021

7061/\77

。87:為果結,製進61為換轉021

。程過的表個兩麵上算演,式形的)1:圖(用采,紙筆拿請

換轉相互數製進六十、二4.6

。然亦之反,數製進六十為換轉能就接直,數製進二見看到做能都員序程++C,C個每,算計用不卻換轉的者二這過不。要重較比換轉相互的製進六十和製進二

。到做能就,節小一這完學要隻,樣一也們我

?呢少多是它,1111:數製進二個一看來們我先首

。51=8*1+4*1+2*1+1*1=3^2*1+2^2*1+1^2*1+0^2*1:算計樣這要還能可你

。1=0^2,2=1^2,4=2^2是次依後然,8=3^2為值權的位高最,即。1、2、4、8:,記位低往位高從是且並,值權的位一每它住記接直須必們我以所,位4才1111於由,而然

48住記


✅ 付款功能已修復,現在可以正常購買了 — 支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
😤 廣告總在最入戲的時候跳出來?
月付 $5 USD,升級 VIP 後全站所有頁面廣告立即全關——
不是只有這本書,是整個 oop.tw 每一頁、每一章,從此一路讀到底不被打斷。 $5 USD ≈ 一杯珍奶的錢,換一整個月零廣告清爽閱讀 · 隨時可取消
✅ 全站廣告全關 ✅ 工口專區全本解鎖 ✅ 月卡 $5 USD · 季卡 $13 USD · 年卡 $45 USD
⭐ 登入 / 免費註冊後升級
加我 LINE 好友,分享好書不錯過
第一時間獲得新書推薦、書單更新通知
立即加入
上一頁 書頁/目錄
/ 4 頁
下一頁
為本書評分(每位讀者可評一次,提交後無法修改
發表評論
匿名讀者 身份發表
讀者評論