中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中數據類型的示例分析

發布時間:2022-03-04 09:49:49 來源:億速云 閱讀:147 作者:小新 欄目:開發技術

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

(壹) 數據類型介紹

前面我們已經學習了基本的內置類型,以及他們所占存儲空間的大小。:

C語言中數據類型的示例分析

類型的意義: 

  • 使用這個類型開辟內存空間的大小(大小決定了使用范圍)。

  • 如何看待內存空間的視角。

1.1  類型的基本歸類

整形家族:

C語言中數據類型的示例分析

浮點數家族:

C語言中數據類型的示例分析

 構造類型:

C語言中數據類型的示例分析

 指針類型

C語言中數據類型的示例分析

空類型: 

C語言中數據類型的示例分析

C語言中數據類型的示例分析

(貳)整形在內存中的存儲

我們之前講過一個變量的創建是要在內存中開辟空間的。

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

那接下來我們談談數據在所開辟內存中到底是如何存儲的?

比如:

C語言中數據類型的示例分析

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

2.1  原碼、反碼、補碼

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

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

C語言中數據類型的示例分析

C語言中數據類型的示例分析

C語言中數據類型的示例分析

C語言中數據類型的示例分析

C語言中數據類型的示例分析

C語言中數據類型的示例分析

2.2  深入解析

正數的原、反、補碼都相同。

對于整形來說:數據存放內存中其實存放的是補碼。 

C語言中數據類型的示例分析

為什么呢?

C語言中數據類型的示例分析

舉例解析1:

C語言中數據類型的示例分析

C語言中數據類型的示例分析

舉例解析2

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

C語言中數據類型的示例分析

C語言中數據類型的示例分析

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

這樣也能夠回答我們開始提出的問題了,原碼、反碼、補碼的使用,是人們為了讓符號位能參與運算并讓計算機底層運算更加簡單而設計出來的數據存儲表示方式。

關于“C語言中數據類型的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌兰浩特市| 渭南市| 革吉县| 乐山市| 普洱| 清水县| 福泉市| 扶沟县| 潜山县| 抚松县| 迭部县| 滨海县| 康马县| 巍山| 石楼县| 扶绥县| 彭水| 松阳县| 都昌县| 贵港市| 邻水| 改则县| 清徐县| 东安县| 松滋市| 西平县| 鄄城县| 密山市| 和林格尔县| 乌拉特后旗| 长宁区| 咸阳市| 渝北区| 新民市| 潼南县| 万安县| 巴青县| 桐柏县| 介休市| 奉新县| 桂林市|