劉明亮 5530 字 5個月前

ASCII

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

了,在上麵的計算中,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'\/\/用十六進製

請前往oop.tw閱讀本書最新內容

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

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

6.3.110進製數轉換為2進製數

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

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

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

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

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

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

那麼:

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

“將商繼續除以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。

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

被除數計算過程商餘數

6.6\/230

3.3\/211

1.1\/201

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

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

(圖:1)

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

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

6.3.210進製數轉換為8、16進製數

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

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

用表格表示:

被除數計算過程商餘數

120.120\/8150

15.15\/817

1.1\/801

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

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

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

數餘商程過算計數除被

8761/\021.021

7061/\7.7

。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於由,而然

。值製進01的應對它出算快很以可都們我,數製進二的位4個一意任於對,1248住記

)分部過略間中(值的能可有所xxxx數製進二位四出列麵下

值進六十值製進十法方算計速快數製進2的位4僅

F=51=1+2+4+8=1111

E=41=0+2+4+8=0111

D=31=1+0+4+8=1011

C=21=0+0+4+8=0011

B=11=1+2+0+8=1101

A=01=0+2+0+8=0101

9=9=1+0+0+8=1001

....

1=1=1+0+0+0=1000

0=0=0+0+0+0=0000

轉要數製進二


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