68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞頭條 >> 第二節(jié) 整型數(shù)據(jù)
新聞資訊
NEWS INFORMATION

第二節(jié) 整型數(shù)據(jù)

發(fā)布時間:2019-05-22

知識點:進制的轉(zhuǎn)換;整型的定義和使用;

重要程度:★★★★

在C語言中,有三種基本的數(shù)據(jù)類型,它們是整型、實型和字符型。

1、數(shù)制轉(zhuǎn)換

二進制的數(shù),基為二,某位出現(xiàn)的最大數(shù)字是2-1=1;

八進制的數(shù),基為八,某位出現(xiàn)的最大數(shù)字是8-1=7;

十六進制的數(shù),基為十六,某位出現(xiàn)的最大數(shù)字是f(相當與十進制的15)。在十六進制中,數(shù)字由十六個代碼組成,分別是0~9和A~F(或者是a~f)這十六個代碼。

表1列舉出十進制數(shù)字從0~15時,相應(yīng)的二進制、八進制和十六進制數(shù)字。(同列的為一組,表示相同的值)

 

 

 

 

表1  十進制、二進制、八進制和十六進制對照表

十進制

0

1

2

3

4

5

6

7

二進制

0

1

10

11

100

101

110

111

八進制

0

1

2

3

4

5

6

7

十六進制

0

1

2

3

4

5

6

7

 

十進制

8

9

10

11

12

13

14

15

二進制

1000

1001

1010

1011

1100

1101

1110

1111

八進制

10

11

12

13

14

15

16

17

十六進制

8

9

A

B

C

D

E

F

十進制的數(shù)字在我們?nèi)粘I钪衅毡槭褂茫欢谟嬎銠C內(nèi)部,數(shù)字均以二進制形式表示和存放。引例:

1)將任意進制的數(shù)轉(zhuǎn)換為十進制數(shù):

將這個數(shù)按照引例中的方法展開。注意底數(shù)使用的是該進制的基。

使用以上的方法,我們再來看兩個例子:

(23E)16 = 2×162 + 3×161 + 14×160  =(574)10

(111)2 = 1×22+1×21+1×20 = 23-1 = (7)10

2)將十進制數(shù)轉(zhuǎn)換成任意進制數(shù)

十進制數(shù)轉(zhuǎn)換成二進制數(shù)的規(guī)則為:將十進制的數(shù)字除以2,得到的商數(shù)繼續(xù)除以2,直到商為0,然后將各次相除所得的余數(shù)從后往前排列,就得到該十進制數(shù)轉(zhuǎn)換成的對應(yīng)的二進制數(shù)。例如,將十進制數(shù)13轉(zhuǎn)換成二進制數(shù)的過程如下:

2 | 1 3   

              2 |  6    …………1

              2 |  3    …………0

              2 |  1    …………1

                  0    …………1                    

所得的余數(shù)從后往前排列,得到二進制數(shù)1101,與表1中的一致。

同理,可以得出將十進制數(shù)轉(zhuǎn)換為任意進制數(shù)的規(guī)則。例如,將十進制數(shù)13轉(zhuǎn)換成八進制數(shù)的過程如下:

8 | 1 3   

              8 |  1    …………5

                  0    …………1

所得的余數(shù)從后往前排列,得到二進制數(shù)15,與表1中的一致。

3)二進制與八進制、十六進制之間的轉(zhuǎn)換

從表1中可以看出,每個八進制數(shù)的單個數(shù)字都可以用三位二進制數(shù)來表示,最大的八進制單個數(shù)字7等于最大的三位二進制111,最小的八進制單個數(shù)字0等于最小的三位二進制000。因此,每個八進制數(shù)的單個數(shù)字都可以用三位二進制數(shù)字來表示,即23=8。同樣,每個十六進制數(shù)的單個數(shù)字都可以用四位二進制數(shù)來表示,即24=16。

例如,將八進制數(shù)13轉(zhuǎn)換成二進制數(shù)的過程如下:

(1 3)= (001 011)2

從以上的轉(zhuǎn)換過程看出,將每個八進制數(shù)字轉(zhuǎn)換成了三位二進制數(shù)字,1轉(zhuǎn)換成001,3轉(zhuǎn)換成011,因此八進制13對應(yīng)的二進制數(shù)字為1011。

現(xiàn)舉例說明將十六進制數(shù)數(shù)E3轉(zhuǎn)換成二進制數(shù)的過程:

(E 3)16  = (1110 0011)2

從表1可以看出,十六進制數(shù)字E等于二進制的1110,3等于二進制的0011,于是十六進制數(shù)字E3等于二進制數(shù)字11100011。

反過來,將二進制轉(zhuǎn)換成八進制、十六進制,只需將從右邊起的每三位或者每四位二進制數(shù)轉(zhuǎn)換成對應(yīng)的八進制數(shù)或十六進制數(shù)。

進制的常見錯誤:

1. 八進制數(shù)據(jù)中出現(xiàn)8,甚至是9.

2. 十六進制中,把15當成一個字符(實際上應(yīng)該是f)。

 

2、整型常量

  • 在C語言中,整型常量分為十進制整型常量、八進制整型常量和十六進制整型常量三種表示形式。注意,C語言中沒有直接表示二進制的整型常量。(?迹

(1)十進制整型常量由一串連續(xù)的0~9數(shù)字組成。如:0、120、365、-12等。

(2)八進制整型常量以數(shù)字0開頭,其中的數(shù)字為0~7。如:0112(十進制74)、0123(十進制83)、077(十進制63)等。

(3)十六進制整型常量0x(數(shù)字0和字母x)或0X開頭,其中的數(shù)字可以是0~9、a~f或A~F中的數(shù)字或英文字母。如:0x11(十進制17)、0xa5(十進制165)、0X5a(十進制90)等。

整型常量又分為短整型(short int)、基本整型(int)、長整型(long int)和無符號整型(unsigned)等幾類。

1:  以下選項中可作為C語言合法整數(shù)的是

A) 10110B        B) 0386           C) 0Xffa         D) x2a2

分析:本題答案為C。

選項(A)不是C語言中三種整型常量之一。

選項(B)不是合法的八進制整型常量,因為八進制整型常量中不可能出現(xiàn)“8”字符。

選項(D)中x2a2前加上“0”就是一個合法的十六進制整型常量。

 

3、整型變量

整型變量是用于存放整型值的變量。對應(yīng)于整型常量,整型變量也可分為短整型(short int)、基本整型(int)、長整型(long int)和無符號整型(unsigned)四種。

定義基本整型變量用關(guān)鍵字int,形式如下:

int  i;

int類型所占據(jù)的字節(jié)長度因不同類型的機器或編譯器而有所不同:

如果使用VC++6.0,則會為int型變量分配4個字節(jié)長度的存儲單元。我們使用的將是這種情況。

如圖1所示。圖中表示對定義的int型整型變量i分配了四個字節(jié)的存儲單元,這個存儲單元的名字為i,里面的內(nèi)容不確定。

 

 

 

 

圖1 計算機系統(tǒng)為整型變量i分配的內(nèi)存空間

當對變量i賦值時,這個值就存儲在這個存儲單元中。

例如,執(zhí)行了賦值語句:

i=6;

則變量i的存儲單元變?yōu)槿鐖D2所示的情況。

00000000

00000000

00000000

00000110

圖2 十進制整數(shù)6存放在變量i的內(nèi)存空間中的形式

正如讀者所知,在計算機中實際上是以二進制形式存儲數(shù)據(jù)的,所以在變量i的存儲單元中存放的是四個字節(jié)的二進制數(shù)00000000 00000000 00000000 00000110(十進制6)。

C語言中規(guī)定,在定義變量的同時給變量賦初值,稱為變量初始化。例如:

main( )

{    int a=2,b=3,c=4;

       ……

}

表2 不同類型的整型數(shù)在內(nèi)存中所占用的字節(jié)數(shù)和數(shù)值范圍

數(shù)據(jù)類型

關(guān)鍵字

占用的字節(jié)數(shù)

數(shù)值范圍

短整型

[signed] short [int]

2

-32768~32767

無符號短整型

unsigned short [int]

2

0~65535

基本整型

[signed] int

4

-2147483648~2147483647

無符號整型

unsigned [int]

4

0~4294967295

長整型

[signed] long [int]

4

-2147483648~2147483647

無符號長整型

unsigned long [int]

4

0~4294967295

說明:

1) 如果要表示一個長整型常量,則應(yīng)該在對應(yīng)的整型常量后面加上一個字母后綴l(L的小寫)或者是L。如0L、110L、123L等。這是因為如果不加上L(或l),則表明這個整型常量為基本整型常量,在內(nèi)存中占兩個字節(jié)的存儲單元,而加上之后,則表明為長整型常量,在內(nèi)存中占四個字節(jié)存儲單元。

2)無論是短整型還是長整型常量,C語言系統(tǒng)都默認為是有符號整數(shù)。無符號整數(shù)在數(shù)字的后面加上一個字母后綴u或者是U。若是長整型無符號整型常量,則應(yīng)該加后綴lu或者是LU。

2:  以下選項中不屬于C語言的類型的是

A) signed  short  int                        B) unsigned  long  int

C) unsigned  int                             D) long  short

分析:根據(jù)表2可知,正確答案為D。

 

4、整數(shù)在內(nèi)存中的存儲形式

在計算機內(nèi)存中最小存儲單位稱為“位(bit)”。每一個位中或者存放0,或者存放1,因此稱為二進制位。一個字節(jié)(Byte)有8個二進制位。沿用慣例,把最右邊一位稱為最低位,把最左邊一位稱為最高位。在C語言中,對于有符號型整數(shù),將最高位作為符號位,當最高位為0時表示正整數(shù),當最高位為1時表示負整數(shù)。

下面介紹整數(shù)的存儲形式。

注意:計算機中(或者說內(nèi)存中)的數(shù)據(jù)都以它對應(yīng)的補碼形式存在。

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

都兰县| 民勤县| 保亭| 陆河县| 馆陶县| 梁山县| 象州县| 岗巴县| 赤峰市| 青冈县| 防城港市| 齐河县| 蚌埠市| 炉霍县| 盐津县| 安龙县| 潜江市| 江永县| 铅山县| 福建省| 嘉兴市| 烟台市| 泽库县| 永新县| 拜城县| 明水县| 潮安县| 贺兰县| 南乐县| 英吉沙县| 五常市| 洪湖市| 巴南区| 佛教| 辽宁省| 望奎县| 临西县| 武强县| 台东县| 疏勒县| 微博|