溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C語言中數(shù)據(jù)類型的示例分析

發(fā)布時(shí)間:2022-03-04 09:49:49 來源:億速云 閱讀:146 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)C語言中數(shù)據(jù)類型的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

(壹) 數(shù)據(jù)類型介紹

前面我們已經(jīng)學(xué)習(xí)了基本的內(nèi)置類型,以及他們所占存儲(chǔ)空間的大小。:

C語言中數(shù)據(jù)類型的示例分析

類型的意義: 

  • 使用這個(gè)類型開辟內(nèi)存空間的大?。ù笮Q定了使用范圍)。

  • 如何看待內(nèi)存空間的視角。

1.1  類型的基本歸類

整形家族:

C語言中數(shù)據(jù)類型的示例分析

浮點(diǎn)數(shù)家族:

C語言中數(shù)據(jù)類型的示例分析

 構(gòu)造類型:

C語言中數(shù)據(jù)類型的示例分析

 指針類型

C語言中數(shù)據(jù)類型的示例分析

空類型: 

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

(貳)整形在內(nèi)存中的存儲(chǔ)

我們之前講過一個(gè)變量的創(chuàng)建是要在內(nèi)存中開辟空間的。

空間的大小是根據(jù)不同的類型而決定的。

那接下來我們談?wù)剶?shù)據(jù)在所開辟內(nèi)存中到底是如何存儲(chǔ)的?

比如:

C語言中數(shù)據(jù)類型的示例分析

我們知道為a分配四個(gè)字節(jié)的空間。 那如何存儲(chǔ)? 

2.1  原碼、反碼、補(bǔ)碼

計(jì)算機(jī)中的有符號(hào)數(shù)(整數(shù))有三種表示方法,即原碼、反碼和補(bǔ)碼。

三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位三種表示方法各不相同。

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

2.2  深入解析

正數(shù)的原、反、補(bǔ)碼都相同。

對(duì)于整形來說:數(shù)據(jù)存放內(nèi)存中其實(shí)存放的是補(bǔ)碼。 

C語言中數(shù)據(jù)類型的示例分析

為什么呢?

C語言中數(shù)據(jù)類型的示例分析

舉例解析1:

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

舉例解析2

了解一下計(jì)算機(jī)的底層概念,我們?nèi)四X可以很輕松的知道機(jī)器數(shù)的第一位是符號(hào)位,但對(duì)于計(jì)算機(jī)基礎(chǔ)電路設(shè)計(jì)來說判別第一位是符號(hào)位是非常難和復(fù)雜的事情,為了讓計(jì)算機(jī)底層設(shè)計(jì)更加簡單,人們開始探索將符號(hào)位參與運(yùn)算,并且采用只保留加法的方法,我們知道減去一個(gè)數(shù),等于加上這個(gè)數(shù)的負(fù)數(shù),即:1-1 = 1 + (-1) = 0,這樣讓計(jì)算機(jī)運(yùn)算就更加簡單了,并且也讓符號(hào)位參與到運(yùn)算中去。

C語言中數(shù)據(jù)類型的示例分析

C語言中數(shù)據(jù)類型的示例分析

因?yàn)檠a(bǔ)碼能多存儲(chǔ)一個(gè)-128,而且在計(jì)算機(jī)底層中存儲(chǔ)的是補(bǔ)碼,所以在計(jì)算機(jī)中一個(gè)8位的二進(jìn)制數(shù)的存儲(chǔ)范圍是用補(bǔ)碼表示的[-128,127],而不是用原碼或反碼表示的[-127,127]。這也可以解釋為什么計(jì)算機(jī)中一個(gè)字節(jié)的取值范圍是[-128,127]。

這樣也能夠回答我們開始提出的問題了,原碼、反碼、補(bǔ)碼的使用,是人們?yōu)榱俗尫?hào)位能參與運(yùn)算并讓計(jì)算機(jī)底層運(yùn)算更加簡單而設(shè)計(jì)出來的數(shù)據(jù)存儲(chǔ)表示方式。

關(guān)于“C語言中數(shù)據(jù)類型的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI