国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

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

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

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

這里寫目錄標題

  • 一、空間的申請
    • 1.變量定義
      • 1.1變量定義的概念:
      • 1.2變量定義的原因:
    • 2.變量聲明
  • 二、數(shù)據(jù)存入
    • 1.轉換補碼
    • 2.大小端存儲
    • 3.截斷
    • 4.取值范圍的問題
  • 三、數(shù)據(jù)取出
    • 1.大小端
    • 2.自身類型
    • 3.整型提升
  • 練習題

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

在這里插入圖片描述

一、空間的申請

1.變量定義

1.1變量定義的概念:

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


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


1.2變量定義的原因:

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

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

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

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

變量定義的本質在于,開辟一塊內存空間,暫時存儲數(shù)據(jù)

2.變量聲明

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

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

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

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

1.轉換補碼

在這里插入圖片描述

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


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


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

我需要強調一點的是,右邊數(shù)字的二進制轉換與左邊的類型沒有半毛錢關系,編譯器判斷有無符號整形,只看你賦值的數(shù)字有沒有+號或者-號而已

那同學覺得計算機就這樣把補碼扔到內存了嗎?
顯然不只如此!還需要考慮大小端存儲問題。

2.大小端存儲

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

在這里插入圖片描述

3.截斷

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

當然對于截斷問題,只是順便一提,有興趣可以單獨去研究一下。

4.取值范圍的問題

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

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

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

1.大小端

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

2.自身類型

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

3.整型提升

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

練習題

最后送大家一道練習題哈,如果看完本文章大體理解我說的啥的話,應該可以做對,當然不對的話也不要擔心哈,再弄懂就好啦,知識不是一下就會弄懂的。

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

答案:255,請試分析本題。
解析:略。

http://m.aloenet.com.cn/news/40675.html

相關文章:

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