欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言修煉之路數(shù)據(jù)類型悟正法?解析存儲定風(fēng)魔上篇

 更新時間:2022年02月26日 16:57:40   作者:玄澈_  
使用編程語言進(jìn)行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么

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

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

類型的意義: 

  • 使用這個類型開辟內(nèi)存空間的大小(大小決定了使用范圍)。
  • 如何看待內(nèi)存空間的視角。

1.1  類型的基本歸類

整形家族:

浮點數(shù)家族:

 構(gòu)造類型:

 指針類型

空類型: 

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

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

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

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

比如:

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

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

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

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

2.2  深入解析

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

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

為什么呢?

舉例解析1:

舉例解析2

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

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

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

到此這篇關(guān)于C語言修煉之路數(shù)據(jù)類型悟正法 解析存儲定風(fēng)魔上篇的文章就介紹到這了,更多相關(guān)C語言 數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論