C語言學習筆記(一)

2021-06-19 00:29:47 字數 2643 閱讀 9252

進製問題

1、進製

2進製   8進製   10進製   16進製制

2進製 :進製規則是逢二進一,

(1)二進位制轉十進位制

方法:「按權展開求和」(二進位制怎麼會有小數點)

【例】:

規律:個位上的數字的次數是0,十位上的數字的次數是1,......,依次遞增,而十

分位的數字的次數是-1,百分位上數字的次數是-2,......,依次遞減。

注意:不是任何乙個十進位制小數都能轉換成有限位的二進位制數。

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方,........

101    從右邊開始1*2^0+0*2^1+1*2^2=5

二進位制轉八進位制

二進位制數轉換成八進位制數:從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進位制數的數字表示,不足3位的要用「0」補足3位,就得到乙個八進位制數。

八進位制數轉換成二進位制數:把每乙個八進位制數轉換成3位的二進位制數,就得到乙個二進位制數。

八進位制數字與二進位制數字對應關係如下:

000 -> 0 | 100 -> 4

001 -> 1 | 101 -> 5

010 -> 2 | 110 -> 6

011 -> 3 | 111 -> 7

二進位制轉十六進製制

二進位制數轉換成十六進製制數:二進位制數轉換成十六進製制數時,只要從小數點位置開始,向左或向右每四位二進位制劃分一組(不足四位數可補0),然後寫出每一組二進位制數所對應的十六進製制數碼即可。

十六進製制數轉換成二進位制數:把每乙個十六進製制數轉換成4位的二進位制數,就得到乙個二進位制數。

十六進製制數字與二進位制數字的對應關係如下:

0000 -> 0 0100 -> 4 1000 -> 8 1100 -> c

0001 -> 1 0101 -> 5 1001 -> 9 1101 -> d

0010 -> 2 0110 -> 6 1010 -> a 1110 -> e

0011 -> 3 0111 -> 7 1011 -> b 1111 -> f

【例】:將十六進製制數5df.9 轉換成二進位制:

5 d f . 9

0101、 1101 1111 .1001

即:(5df.9)16 =(10111011111.1001)2

【例】:將二進位制數1100001.111 轉換成十六進製制:

0110 0001 . 1110

6 1 . e

即:(1100001.111)2 =(61.e)16

8進製: 是以8為底的進製,使用數字0,1,2,3,4,5,6,7  ,每3位為

二進位制數轉換成八進位制數:從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進位制數的數字表示,不足3位的要用「0」補足3位,就得到乙個八進位制數。

八進位制數轉換成二進位制數:把每乙個八進位制數轉換成3位的二進位制數,就得到乙個二進位制數

8進製轉2進製:

一位一位取出來,

一位拉成3位:

0 -- 000

1 -- 001

2 -- 010

3 -- 011

4 -- 100

5 -- 101

6 -- 110

7 -- 111

*****===

例如:127

1 拉成  001

2拉成  010

7 拉成 111

連起來:001 010  111

2進製轉8進製

10101  小數點左右分開,整數字向左,每3位為一組  010  101   25

8進製轉10進製

八進位制就是逢8進1。

八進位制數採用0~7這八數來表達乙個數。

八進位制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方??

所以,設有乙個八進位制數:1507,轉換為十進位制為:

7 * 8^0 + 0 * 8^1+ 5 * 8^2+ 1 * 8^3 =  839 

8進製轉16進製制

八進位制和十六進製制的互換,個人認為借助二進位制進行轉換最為方便,因為八進位制單位直接對應三位二進位制, 而十六進製制單位對應四位二進位制。

例如: (567)8轉換成16進製為

101110111,再按四位劃分為1 0111 0111  即十六進製制為 (177)16

10進製:十進位制轉二進位制

十進位制整數轉二進位制數:「除以2取餘,逆序排列」(除二取餘法)

【例】:

89÷2 ……1

44÷2 ……0

22÷2 ……0

11÷2 ……1

5÷2 ……1

2÷2 ……0

1十進位制小數轉二進位制數:「乘以2取整,順序排列」(乘2取整法)

【例】: (0.625)10= (0.101)2

0.625x2=1.25 ……1

0.25 x2=0.50 ……0

0.50 x2=1.00 ……1

十進位制轉八進位制

十進位制整數轉八進位制數:「除以8取餘,逆序排列」(除8取餘法)

十進位制轉十六進製制

十進位制整數轉十六進製制數:「除以16取餘,逆序排列」(除16取餘法)

16進製制:

十六進製制轉二進位制  

十六進製制轉八進位制   先轉成2進製 再轉成8進製

十六進製制轉十進位制  先轉成2進製  再轉成10進製

C語言學習筆記(一)

c 語言只提供了以下幾種基本資料型別 char 字元刑占用乙個位元組,可以存放本地字符集中的乙個字元 int整型 通常反應了所用機器中整數的自然長度 float 單精度浮點型 doule 雙精度浮點型 此外,可以在這些基本資料型別的錢買年加上些限定符。short 與long 兩個限定符用於限定整型 ...

C語言學習筆記(一)

預處理指令 巨集定義 define,undef 檔案包含 include 條件編譯 ifdef,if,elif,else,endif define disk capacity sides tracks per side sectors per track bytes per sector 對於帶引數...

c語言學習筆記一

資料型別 基本型別 整型 整數 2 15 2 15 1 32768 32767 八進位制 0開頭 十六進製制 0x開頭 十進位制 占用2個位元組,16個二進位制位 浮點型 單精度 雙精度 浮點小數 雙精度 1.23 2.1e2 2.1 12 字元型單個字元 a 佔乙個位元組 轉義字元 n 單引號 s...