中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

上海設(shè)計(jì)網(wǎng)站開發(fā)日本疫情最新數(shù)據(jù)

上海設(shè)計(jì)網(wǎng)站開發(fā),日本疫情最新數(shù)據(jù),炫酷響應(yīng)式網(wǎng)站設(shè)計(jì),零食天堂專做零食推薦的網(wǎng)站追求本質(zhì),不斷進(jìn)步 本文由睡覺待開機(jī)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處。 本內(nèi)容在csdn網(wǎng)站首發(fā) 歡迎各位點(diǎn)贊—評(píng)論—收藏 如果存在不足之處請(qǐng)?jiān)u論留言,共同進(jìn)步! 這里寫目錄標(biāo)題 一、空間的申請(qǐng)1.變量定義1.1變量定義的概念:1.2變…

追求本質(zhì),不斷進(jìn)步
本文由@睡覺待開機(jī)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處。
本內(nèi)容在csdn網(wǎng)站首發(fā)
歡迎各位點(diǎn)贊—評(píng)論—收藏
如果存在不足之處請(qǐng)?jiān)u論留言,共同進(jìn)步!

這里寫目錄標(biāo)題

  • 一、空間的申請(qǐng)
    • 1.變量定義
      • 1.1變量定義的概念:
      • 1.2變量定義的原因:
    • 2.變量聲明
  • 二、數(shù)據(jù)存入
    • 1.轉(zhuǎn)換補(bǔ)碼
    • 2.大小端存儲(chǔ)
    • 3.截?cái)?/li>
    • 4.取值范圍的問題
  • 三、數(shù)據(jù)取出
    • 1.大小端
    • 2.自身類型
    • 3.整型提升
  • 練習(xí)題

前言:
本節(jié)博客繼續(xù)前篇內(nèi)容進(jìn)行續(xù)寫,我們著重探求有符號(hào)與無符號(hào)數(shù)的問題,探求整形在內(nèi)存中的存儲(chǔ)這一課題

在這里插入圖片描述

一、空間的申請(qǐng)

1.變量定義

1.1變量定義的概念:

所謂變量定義,本質(zhì)上就是在內(nèi)存中開辟特定大小的空間(不做解釋,后文體會(huì))。


概念區(qū)分:初始化與賦值
(1)概念:
初始化:指的是變量與生俱來的內(nèi)容屬性
賦值:值的是變量后來放到該變量空間的內(nèi)容屬性
(2)特點(diǎn):
初始化只能進(jìn)行一次,賦值可以進(jìn)行多次
初始化具有先天性的含義,賦值有著后天的含義。


1.2變量定義的原因:

定義變量的原因在于開辟空間,暫時(shí)存儲(chǔ)數(shù)據(jù)

首先,我們需要明確的是計(jì)算機(jī)是彌補(bǔ)人類計(jì)算能力低下問題誕生的(這里并沒有貶低人類的意思,就是說人類跟計(jì)算機(jī)相比計(jì)算能力確實(shí)相對(duì)來說比較差)
在這里插入圖片描述

之后,我們需要明白,我們?nèi)祟愑?jì)算時(shí)候是需要一步一步計(jì)算的,計(jì)算機(jī)也是需要進(jìn)行先后計(jì)算了,并不是一下子就對(duì)所有數(shù)據(jù)進(jìn)行處理,計(jì)算機(jī)也是對(duì)一個(gè)一個(gè)數(shù)據(jù)進(jìn)行依次處理的,至于為什么算個(gè)數(shù)字那么快,因?yàn)橛?jì)算機(jī)算的快而已,這并不是說計(jì)算機(jī)對(duì)所有數(shù)據(jù)進(jìn)行同時(shí)處理。(注:當(dāng)然計(jì)算機(jī)也是可以同時(shí)對(duì)數(shù)據(jù)進(jìn)行處理的,不過同時(shí)處理數(shù)據(jù)的能力有限,了解即可)
然后,我們大概就明白了,為何需要變量?就是因?yàn)橛行?shù)據(jù)需要等待一些時(shí)間去讓計(jì)算機(jī)處理,在處理之前,需要先存儲(chǔ)起來防止數(shù)據(jù)丟失,這大概跟人類做運(yùn)算時(shí)候要寫在紙上差不多,省的忘了原來的數(shù)據(jù),如果忘了那就慘了。
在這里插入圖片描述

那為啥需要把數(shù)據(jù)放在一個(gè)個(gè)變量里進(jìn)行處理啊?我數(shù)據(jù)直接放那一團(tuán)不就行了嘛,這有點(diǎn)類似于我們吃飯,我們一般都是用碗吃飯,而不是直接用鍋,原因在于效率高,計(jì)算機(jī)也是一樣,在處理數(shù)據(jù)的時(shí)候,先用變量把在“一鍋里的”數(shù)據(jù)分到一個(gè)個(gè)小碗里,然后就“吃”的快了。而且之前講過,我們做飯的地方跟我們吃飯的地方離得距離是比較遠(yuǎn)的,類似于硬盤中的程序跟cpu處理是比較遠(yuǎn)的,要想提高效率,就是借助變量變成“小碗”送到內(nèi)存當(dāng)中,這樣就跟cpu離得近了。其實(shí)我感覺變量就是起到了一個(gè)方便讀取數(shù)據(jù)的作用。

變量定義的本質(zhì)在于,開辟一塊內(nèi)存空間,暫時(shí)存儲(chǔ)數(shù)據(jù)

2.變量聲明

變量聲明的本質(zhì)就是:告知編譯器。**
兩者的區(qū)別在于,
聲明你可以聲明多次,定義只能定義一次哈。
本質(zhì)區(qū)別在于定義開辟內(nèi)存空間,變量聲明沒有開辟內(nèi)存空間。

這個(gè)區(qū)別有一個(gè)比較有意思的比喻,大概是這樣的,變量的定義類似于你跟你女朋友表白,只能表白一次吧?哈哈。然后變量的聲明的話就是你告訴你周圍的人,那個(gè)女孩是我女朋友哈,你們不要有非分之想了哈。這里想說聲明可以聲明無數(shù)次。(這里只是做一個(gè)比喻說明一下哈,無任何不良誘導(dǎo))

二、數(shù)據(jù)存入

首先同學(xué)們,我想問int a = -10;計(jì)算機(jī)會(huì)直接把-10存入內(nèi)存中嗎?答案是不是
原因在于計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制。
因而就需要進(jìn)制轉(zhuǎn)換,需要把-10這一個(gè)十進(jìn)制數(shù)字轉(zhuǎn)換成為二進(jìn)制的形式,這就牽扯到了原碼、反碼以及補(bǔ)碼的概念和轉(zhuǎn)換問題。

1.轉(zhuǎn)換補(bǔ)碼

在這里插入圖片描述

有符號(hào)數(shù):
首先,對(duì)于有符號(hào)數(shù),一定要能表示該數(shù)據(jù)是正數(shù)還是負(fù)數(shù),所以我們一般用最高比特位來充當(dāng)符號(hào)位。
原碼反碼補(bǔ)碼都有符號(hào)位和數(shù)值位。符號(hào)位0表示正數(shù),1表示負(fù)數(shù),而三種表示方法各不相同。
無符號(hào)數(shù):
不需要轉(zhuǎn)換,原碼反碼補(bǔ)碼相同不存在符號(hào)位。


如果一個(gè)數(shù)據(jù)是負(fù)整數(shù),那么要遵守下面的規(guī)則進(jìn)行轉(zhuǎn)換:
在這里插入圖片描述
原碼:直接將數(shù)字按照正負(fù)數(shù)的形式翻譯成二進(jìn)制即可
反碼:符號(hào)位不變,數(shù)值位按位取反
補(bǔ)碼:反碼+1
無符號(hào)數(shù):不需要轉(zhuǎn)換(原碼反碼補(bǔ)碼相同),沒有符號(hào)位的概念
整形:數(shù)據(jù)存放內(nèi)存中的其實(shí)是補(bǔ)碼


為啥需要補(bǔ)碼來存儲(chǔ)整形類型?
原因在于:
1.使用補(bǔ)碼,可以將符號(hào)位和數(shù)值位進(jìn)行統(tǒng)一處理,并且加法和減法也可以統(tǒng)一進(jìn)行處理
2.原碼與補(bǔ)碼的相互轉(zhuǎn)換,其運(yùn)算過程是相同的(都是取反+1),不需要格外的硬件電路

我需要強(qiáng)調(diào)一點(diǎn)的是,右邊數(shù)字的二進(jìn)制轉(zhuǎn)換與左邊的類型沒有半毛錢關(guān)系,編譯器判斷有無符號(hào)整形,只看你賦值的數(shù)字有沒有+號(hào)或者-號(hào)而已

那同學(xué)覺得計(jì)算機(jī)就這樣把補(bǔ)碼扔到內(nèi)存了嗎?
顯然不只如此!還需要考慮大小端存儲(chǔ)問題。

2.大小端存儲(chǔ)

大小端存儲(chǔ)取決于硬件單元,這個(gè)大小端存儲(chǔ)是啥意思呢?
大小端存儲(chǔ)的概念:
大端:低權(quán)值數(shù)字放到高地址處,高權(quán)重?cái)?shù)字放到低地址處。
小端:低權(quán)值數(shù)字放到低地址處,高權(quán)值數(shù)字放到高地址處。

在這里插入圖片描述

3.截?cái)?/h3>

考慮到怎么存儲(chǔ)之后,我們還得需要考慮一個(gè)問題,就是會(huì)不會(huì)發(fā)生截?cái)?#xff1f;比如你把一個(gè)數(shù)字放到一個(gè)char類型里面,char類型只有8個(gè)比特位,存不下一個(gè)數(shù)字的32個(gè)比特位,必然要發(fā)生截?cái)?/strong>。
在這里插入圖片描述

當(dāng)然對(duì)于截?cái)鄦栴},只是順便一提,有興趣可以單獨(dú)去研究一下。

4.取值范圍的問題

一個(gè)類型有取值范圍,那你知道取值范圍是怎么進(jìn)行確定的嗎?
一個(gè)類型的取值范圍的大小取決于這個(gè)類型有多少個(gè)比特位

假如我只給你一個(gè)比特位,請(qǐng)問你可以表示幾個(gè)數(shù)字(不考慮符號(hào)位)?
就倆數(shù)字(2^1)嘛,一個(gè)0一個(gè)1嘛
我如果給你兩個(gè)比特位呢?
4(2^2)個(gè)數(shù)字,00,01,10,11
我如果給你三個(gè)比特位呢?
8(2^3)個(gè)數(shù)字,000,001,010,011,100,101,110,111
……
所以,,,一個(gè)8個(gè)比特位的char類型,可以表示幾個(gè)數(shù)字?2^8==256!
這也就解釋char(有符號(hào))類型的取值范圍是-128—127了。
但是我有個(gè)小疑惑,-128靠8個(gè)比特位是怎么表示出來的?明明需要9個(gè)比特位啊。
在這里插入圖片描述
只是人為規(guī)定!!!
之后呢,還要給大家看一個(gè)取值循環(huán)圖,大家就能明白類型的取值范圍是怎么回事了:
在這里插入圖片描述
在這里插入圖片描述

三、數(shù)據(jù)取出

1.大小端

還是要先看大小端問題,小端存儲(chǔ)就小端取出,大端存儲(chǔ)就大端取出即可。

2.自身類型

到了這個(gè)時(shí)候,說實(shí)在的左邊的類型才有作用,什么意思呢?左邊的類型決定了怎么看待這串二進(jìn)制數(shù)字。
比如說左邊如果是無符號(hào)整形類型,那么就不會(huì)把二進(jìn)制最高位看成符號(hào)位,同理,如果是有符號(hào)類型,就會(huì)把最高位的二進(jìn)制位看成符號(hào)位,這兩種情況是截然不同的數(shù)值!
在這里插入圖片描述

3.整型提升

如果我在內(nèi)存里面是一個(gè)8個(gè)比特位的字符呢?你放入的類型卻是一個(gè)int類型怎么辦?整型提升。有符號(hào)int補(bǔ)符號(hào)位,無符號(hào)int前面補(bǔ)0,給你補(bǔ)到32個(gè)比特位再說。當(dāng)然,這個(gè)地方也就不細(xì)說了,有興趣可以自行研究一下。

練習(xí)題

最后送大家一道練習(xí)題哈,如果看完本文章大體理解我說的啥的話,應(yīng)該可以做對(duì),當(dāng)然不對(duì)的話也不要擔(dān)心哈,再弄懂就好啦,知識(shí)不是一下就會(huì)弄懂的。

int main()
{char a[1000];int i;for (i = 0; i < 1000; i++){a[i] = -1 - i;}printf("%d", strlen(a)); return 0;
}

答案:255,請(qǐng)?jiān)嚪治霰绢}。
解析:略。

http://m.risenshineclean.com/news/40675.html

相關(guān)文章:

  • 購物網(wǎng)站難做嗎google seo怎么優(yōu)化
  • 公司網(wǎng)站設(shè)計(jì)需要什么百度優(yōu)化點(diǎn)擊軟件
  • 怎么做網(wǎng)站的跳轉(zhuǎn)seo查詢外鏈
  • 在線制作logo設(shè)計(jì)百度seo排名優(yōu)化系統(tǒng)
  • 求職網(wǎng)站開發(fā)十大職業(yè)資格培訓(xùn)機(jī)構(gòu)
  • 阿里云一鍵安裝wordpress百度快照優(yōu)化培訓(xùn)班
  • 長春公司做網(wǎng)站如何在百度提交自己的網(wǎng)站
  • 學(xué)校門戶網(wǎng)站建設(shè)工作自己搭建一個(gè)網(wǎng)站
  • 企業(yè)郵箱注冊(cè)申請(qǐng)需要多少錢鄭州網(wǎng)站優(yōu)化外包
  • 做網(wǎng)上水果網(wǎng)站的調(diào)查百度sem代運(yùn)營
  • wordpress網(wǎng)站反應(yīng)慢seo學(xué)習(xí)網(wǎng)站
  • 無錫網(wǎng)站建設(shè)公司排名網(wǎng)絡(luò)推廣包括哪些
  • 網(wǎng)站空間 php怎么在百度上發(fā)布信息廣告
  • 金昌網(wǎng)站建設(shè)seo服務(wù)公司招聘
  • 廈門排名推廣杭州百度首頁優(yōu)化
  • 福州哪里做網(wǎng)站網(wǎng)絡(luò)營銷的六大特征
  • 網(wǎng)站設(shè)計(jì)制作哪種快常見的網(wǎng)絡(luò)營銷方式有哪些
  • 公司網(wǎng)站建設(shè)制作難么網(wǎng)站開發(fā)的公司
  • 微網(wǎng)站建設(shè)高端網(wǎng)站定制杭州網(wǎng)站seo
  • 哪些網(wǎng)站可以做網(wǎng)站百度手機(jī)助手下載2021新版
  • 漢壽做網(wǎng)站的公司武漢seo首頁優(yōu)化技巧
  • flash可以做網(wǎng)站搜索引擎的優(yōu)化和推廣
  • 做網(wǎng)站的用處建網(wǎng)站公司哪里好
  • 制作網(wǎng)頁一般需要兼容哪些網(wǎng)站廣州網(wǎng)站seo
  • 廣州做網(wǎng)站網(wǎng)絡(luò)公司bt櫻桃 磁力島
  • 做網(wǎng)站的要求臺(tái)州百度推廣優(yōu)化
  • 網(wǎng)站開發(fā)者id百度號(hào)碼認(rèn)證平臺(tái)官網(wǎng)
  • php律師網(wǎng)站源碼推廣計(jì)劃方案模板
  • 吳中區(qū)企業(yè)網(wǎng)站制作哪家靠譜seo常用工具網(wǎng)站
  • 西安網(wǎng)站制作sxyun淘寶seo搜索優(yōu)化