av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

C語言

C語言進(jìn)制知識總結(jié)

時間:2025-05-11 17:09:26 C語言 我要投稿
  • 相關(guān)推薦

C語言進(jìn)制知識總結(jié)

  學(xué)習(xí)C語言進(jìn)制時,有哪些知識點(diǎn)是需要掌握的呢,下面小編為大家?guī)砹薈語言進(jìn)制知識的總結(jié),歡迎大家閱讀!

C語言進(jìn)制知識總結(jié)

  C語言進(jìn)制知識總結(jié)

  1.什么是進(jìn)制

  進(jìn)制是一種計數(shù)的方式,常用的有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。任何數(shù)據(jù)在計算機(jī)內(nèi)存中都是以二進(jìn)制的形式存放的。

  我對進(jìn)制的個人理解,二進(jìn)制數(shù)是以2為計算單元,滿2進(jìn)1位的數(shù);八進(jìn)制數(shù)是以8為計算單元,滿8進(jìn)1位的數(shù)。

  對于任何一個數(shù)字,我們都可以用不同的進(jìn)制來表示,比如,十進(jìn)制數(shù)12,用二進(jìn)制表示為1100,用八進(jìn)制表示為14,用十六進(jìn)制表示為0xC。

  2.進(jìn)制的轉(zhuǎn)換規(guī)則

  遵循滿進(jìn)制值進(jìn)1位,個位數(shù)變?yōu)?的原理,下面我們以十進(jìn)制數(shù)18為例,對1-18中每一個數(shù)值轉(zhuǎn)換各種進(jìn)制做一個詳細(xì)說明

  轉(zhuǎn)二進(jìn)制:

 、傩∮2,無需進(jìn)1位,1的二進(jìn)制值是1

 、跒槎M(jìn)制值1后面一個數(shù),由于1+1滿2,需要進(jìn)1位,個位數(shù)變?yōu)?,所以2的二進(jìn)制值是10

  ③為二進(jìn)制值10后面一個數(shù),由于11的'個位數(shù)1小于2,無需進(jìn)1位,所以3的二進(jìn)制值是11

 、転槎M(jìn)制值11后面一個數(shù),由于11的個位數(shù)1+1滿2,需要進(jìn)1位,而二進(jìn)制值11的位數(shù)1+1又滿2,所以位數(shù)加1,最終轉(zhuǎn)換結(jié)果為100

  轉(zhuǎn)換思路:

  二進(jìn)制值11+1 ->10+(1+1)(個位等于2,進(jìn)1位,個位數(shù)變?yōu)?) ->(1+1)+0(位數(shù)滿2,進(jìn)1位) -> 100

  以此類推,最終十進(jìn)制數(shù)18的二進(jìn)制轉(zhuǎn)換結(jié)果是10010

  轉(zhuǎn)八進(jìn)制:

  1-7小于8,無需進(jìn)1位,1-7的八進(jìn)制由1-7表示

  8為八進(jìn)制值7后面一個數(shù),由于7+1滿8,需要進(jìn)1位,個位數(shù)變?yōu)?,所以8的八進(jìn)制值是10

  以此類推,最終十進(jìn)制數(shù)18的八進(jìn)制轉(zhuǎn)換結(jié)果是22

  轉(zhuǎn)十六進(jìn)制:

  十六進(jìn)制中,個位數(shù)1-15分別為1 2 3 4 5 6 7 8 9 a b c d e f (a=10....f=15)

  16為十六進(jìn)制值c后面1個數(shù),由于c+1滿16,需要進(jìn)1位,個位數(shù)變?yōu)?,所以16的十六進(jìn)制是10。

  最終十進(jìn)制數(shù)18的十六進(jìn)制轉(zhuǎn)換結(jié)果是12

  詳細(xì)結(jié)果如下圖所示(C語言把數(shù)字前面加0x的數(shù)認(rèn)為是十六進(jìn)制數(shù))

  3.C語言中int類型進(jìn)制的聲明以及占位符

  雖然以下3個變量的賦值方式不同,但實際賦值結(jié)果都是18

  //二進(jìn)制類型數(shù)字加0b

  int number1 = 0b10010;

  //八進(jìn)制類型數(shù)字加0

  int number2 = 022;

  //十六進(jìn)制類型數(shù)字加0x

  int number3 = 0x12;

  八進(jìn)制占位符:%o

  十六進(jìn)制占位符:%x

  4.內(nèi)存存儲數(shù)據(jù)細(xì)節(jié)

  我們知道,int類型數(shù)據(jù)占據(jù)4個字節(jié),1個字節(jié)是8bit。并且任何數(shù)據(jù)在計算機(jī)內(nèi)存中都是以二進(jìn)制的形式存放的,所以內(nèi)存需要用32個0或1來描述1個int類型數(shù)據(jù)。

  由于18的二進(jìn)制數(shù)是10010,我們將一個int類型變量賦值18,本質(zhì)上是將這個變量的內(nèi)存地址對應(yīng)的32個bit位修改為:

  0000 0000 0000 0000 0000 0000 0001 0010(未滿31位,后面的數(shù)字用0填充:為什么是31而不是32呢,后面會介紹)

  假設(shè)我們定義兩個變量

  int number1 = 12; int number2 = 13;

  計算機(jī)會根據(jù)內(nèi)存地址以由大到小的順序進(jìn)行分配內(nèi)存空間,具體如下圖所示:

  5.進(jìn)制的轉(zhuǎn)換公式

  二進(jìn)制轉(zhuǎn)十進(jìn)制

  0b1100 ->0*2的0次方 + 0*2的1次方 + 1*2的2次方 + 1*2的3次方 = 12

  十進(jìn)制轉(zhuǎn)二進(jìn)制

  67 ->64+2+1 ->2的6次方+ 2的1次方 + 2的0次方 = 0b1000011

  6.進(jìn)制的其他知識

 、.n位二進(jìn)制能保存的整數(shù)范圍公式:2的n次方-1

  例如,3位的二進(jìn)制數(shù)最大值為111,對應(yīng)的十進(jìn)制數(shù)字為7;5位的二進(jìn)制數(shù)最大值為11111,對應(yīng)的十進(jìn)制數(shù)字為(2*2*2*2*2)-1 = 31。

 、.負(fù)數(shù)的二進(jìn)制保存規(guī)則是最左邊的數(shù)字是1。例如,0000 0000 0000 0000 0000 0000 0001 0010 表示正整數(shù),1111 1111 1111 1111 1111 1111 1110 1101表示負(fù)數(shù)

  由此,我們就能推測出,int類型能保存的最大整數(shù)是2的(32-1)次方-1 = 2147483647。為什么要用32-1,很簡單,32個bit中,必須抽1個bit位用來描述這個數(shù)字是正數(shù)還是負(fù)數(shù)。


【C語言進(jìn)制知識總結(jié)】相關(guān)文章:

C語言中進(jìn)制知識集錦09-17

C語言中進(jìn)制知識匯總整理09-06

C語言中實現(xiàn)“17進(jìn)制”轉(zhuǎn)“10進(jìn)制”代碼(實例)07-06

C語言基礎(chǔ)知識總結(jié)09-13

C語言入門知識07-20

C語言的應(yīng)用知識08-30

C語言數(shù)組知識點(diǎn)總結(jié)10-17

C語言基礎(chǔ)知識小總結(jié)07-08

C語言知識總結(jié)及其簡單應(yīng)用08-23