亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言修煉之路數據類型悟正法?解析存儲定風魔上篇

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

(壹) 數據類型介紹

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

類型的意義: 

  • 使用這個類型開辟內存空間的大?。ù笮Q定了使用范圍)。
  • 如何看待內存空間的視角。

1.1  類型的基本歸類

整形家族:

浮點數家族:

 構造類型:

 指針類型

空類型: 

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

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

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

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

比如:

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

2.1  原碼、反碼、補碼

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

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

2.2  深入解析

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

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

為什么呢?

舉例解析1:

舉例解析2

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

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

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

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

相關文章

  • 一文詳解Qt中的對象樹機制

    一文詳解Qt中的對象樹機制

    Qt提供了對象樹機制,能夠自動、有效的組織和管理繼承自QObject的Qt對象。這篇文章將通過一些示例為大家介紹一下Qt中對象樹機制的使用,需要的可以參考一下
    2023-03-03
  • 解析C++浮點數無效值的定義與無效值判定的小結

    解析C++浮點數無效值的定義與無效值判定的小結

    本篇文章是對C++中浮點數無效值的定義與無效值的判定進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 使用C++實現Range序列生成器的示例代碼

    使用C++實現Range序列生成器的示例代碼

    在C++編程中,經常需要迭代一系列數字或其他可迭代對象,本文將使用C++來實現一個簡單的Range封裝,文中的示例代碼講解詳細,感興趣的可以了解下
    2023-11-11
  • 好用的C++ string Format“函數”介紹

    好用的C++ string Format“函數”介紹

    大家好,本篇文章主要講的是好用的C++ string Format“函數”介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Qt中PaintEvent繪制實時波形圖的實現示例

    Qt中PaintEvent繪制實時波形圖的實現示例

    本文主要介紹了Qt中PaintEvent繪制實時波形圖的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 老生常談C/C++內存管理

    老生常談C/C++內存管理

    下面小編就為大家?guī)硪黄仙U凜/C++內存管理。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • C語言嵌入式實現支持浮點輸出的printf示例詳解

    C語言嵌入式實現支持浮點輸出的printf示例詳解

    這篇文章主要為大家介紹了C語言嵌入式實現支持浮點輸出的printf示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • C語言數據結構 雙向鏈表的建立與基本操作

    C語言數據結構 雙向鏈表的建立與基本操作

    這篇文章主要介紹了C語言數據結構 雙向鏈表的建立與基本操作的相關資料,需要的朋友可以參考下
    2017-03-03
  • c++11&14-智能指針要點匯總

    c++11&14-智能指針要點匯總

    這篇文章主要介紹了c++11&14-智能指針的要點,文中代碼非常詳細,供大家學習和參考,感興趣的朋友可以了解下
    2020-06-06
  • C語言數據結構遞歸之斐波那契數列

    C語言數據結構遞歸之斐波那契數列

    這篇文章主要介紹了C語言數據結構遞歸之斐波那契數列的相關資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內容,需要的朋友可以參考下
    2017-10-10

最新評論