国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言數據在內存中存儲---整型提升練習

這篇具有很好參考價值的文章主要介紹了C語言數據在內存中存儲---整型提升練習。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:學習了C語言中的整型提升,總是感覺聽的時候很明白,但當自己做題的時候,又總是遺漏了哪一步。自己的感悟:整型提升步驟以及原理都一樣,就是把步驟記清楚一步一步的來就行。因此通過下面的一道題來每日復習。

前景回顧:
整型提升:一個表達式中的操作數大小達不到一個整型類型大小的時候需要整型提
升。

下面將對代碼進行逐行分析,達到抽絲剝繭的效果。

上代碼:

#include <stdio.h>

int main()
{
	unsigned char a = 200;
	unsigned char b = 100;
	unsigned char c = 0;
	c = a + b;
	printf("%d %d", a + b, c);
	return 0;
}

輸出:
C語言數據在內存中存儲---整型提升練習

分析

1、unsigned char a = 200;
變量a是200,200是個正數,所以a的原碼,反碼,反碼相同:
00000000000000000000000011001000

【重點:】這里需要對a進行截斷。
因為a是char類型的數據,只能存放8個bit位的數字。而00000000000000000000000011001000現在是32bit位的數字。所以只截斷后8bit位的二進制數。
所以截斷后:11001000

同理:

2、unsigned char b = 100;
變量b是100,100是個正數,所以b的原碼,反碼,反碼相同:
00000000000000000000000001100100
同理截斷后為:01100100

3、c = a + b;
首先看到需要a+b了。
a和b現在是未滿足一個整型數據大小的,所以需要整型提升。
【重點】:整型提升是按照變量的數據類型的符號位來提升的。
記住一句話:對那個變量進行整型提升,就先看這個變量的數據類型。

這里分兩種情況:

  • 如果該變量是無符號類型的,高位是有效位,全部補充0即可。
  • 如果該變量是有符號類型的,高位是符號位,需要全部填充符號位。

那現在a、b都是unsigned char,說明都是無符號類型,所以只需要高位只需要全部補充未0即可。(一直補充道32bit位)。

所以:

  • a整型提升后的結果:00000000000000000000000011001000
  • b整型提升后的結果:00000000000000000000000001100100

然后a+b的結果就是:00000000000000000000000100101100

因為變量c也是char類型的數據,所以還需要截斷,c存儲的就是:00101100。

4、printf(“%d %d”, a + b, c);
可以看到,a+b、c都是以%d的形式打印,所以打印前還需要整型提升。

c現在存儲:00101100,c是unsigned char 無符號類型的,高位是有效位,全部用0填充即可。

所以c整型提升后的結果就是:00000000000000000000000000101100。

然后打印c,打印需要根據原碼打印,現在00000000000000000000000000101100數補碼,但是c是無符號類型的,并且c的高位是0,0表示正數,正數的原碼=反碼=補碼。
所以c的結果轉為十進制就是44。

之后再來看a+b的結果,現在a+b的結果并沒有存在c變量中。
上面說了a+b的結果是:00000000000000000000000100101100,高位也是0,0表示正數,正數的原碼=反碼=補碼。所以直接將此二進制轉為十進制的結果就是:300。文章來源地址http://www.zghlxwxcb.cn/news/detail-499061.html

到了這里,關于C語言數據在內存中存儲---整型提升練習的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • C語言數據存儲 — 整型篇

    C語言數據存儲 — 整型篇

    在C語言中,了解相關數據存儲對一名優(yōu)秀程序員來說是至關重要的! 通過相關原理,從而更加深入地理解計算機如何存儲和操作數據,這對于編程人員來說是非常重要的。只有深入理解計算機存儲和操作數據的原理,才能編寫出更加高效、可靠的程序。 本文將詳細介紹C語言

    2024年02月09日
    瀏覽(29)
  • 深度剖析數據在內存中的存儲——int類型(整型)和float類型(浮點數)在內存中是如何存儲和使用的?

    深度剖析數據在內存中的存儲——int類型(整型)和float類型(浮點數)在內存中是如何存儲和使用的?

    眾所周知,C語言中有幾種基本的內置數據類型: char - 字符數據類型 short - 短整型 int - 整型 long - 長整型 long long - 更長的整型 float - 單精度浮點數 double - 雙精度浮點數 那為什么要設置這么多內置數據類型呢?類型的意義是什么? 本文將為大家介紹整型和浮點數在內存中的存

    2023年04月22日
    瀏覽(28)
  • 數據在內存中的存儲——練習3

    數據在內存中的存儲——練習3

    ? 首先二者極其相似 %u是無符號格式進行打印,或者說打印無符號整數。 這兩題是有符號類型以無符號類型打印 上圖是3.1的答案,在分析3.1之前我們首先要明白一個東西, char的取值范圍。 char 的取值范圍: char在VS中相當于 signed char 是有符號的。 有符號的表示在32位比特位

    2024年02月09日
    瀏覽(14)
  • C語言整型常量的存儲形式是怎樣的?

    ????????整型常量的存儲形式是怎樣的?-8 在內存中的存儲形式是怎樣的? (1) 整型常量 (2)不同類型整型常量的書寫方式 ????????無論采用哪種書寫方式,最終在內存中的存儲都是按照對應數據類型的二進制格式來完成的。并且,根據C語言標準和不同的系統(tǒng)架構

    2024年01月22日
    瀏覽(19)
  • c-語言->數據在內存的存儲

    c-語言->數據在內存的存儲

    文章目錄 系列文章目錄 前言 目的:學習整數在內存的儲存,什么是大小端,浮點數的儲存。 在講解操作符的時候,我們就講過了下?的內容: 整數的2進制表??法有三種,即 原碼、反碼和補碼。 正整數的原、反、補碼都相同。 負整數的三種表??法各不相同。 原碼:直

    2024年02月04日
    瀏覽(16)
  • C語言數據在內存中的存儲

    C語言數據在內存中的存儲

    目錄 前言 本期內容介紹 一、數據類型的介紹 1.1類型的意義: 1.2C語言中是否有字符串類型? 1.3類型的基本歸類 整型家族: 浮點型(實型)家族: 構造(自定義)類型: 指針類型: 空類型: 二、整型在內存中的存儲 2.1原碼、反碼、補碼 總結: 2.2大小端字節(jié)序介紹 2.3什

    2024年02月16日
    瀏覽(21)
  • C語言:數據在內存中的存儲

    C語言:數據在內存中的存儲

    在講解操作符的時候,我們就講過了下?的內容: 整數的2進制表示方法有三種,即 原碼、反碼和補碼 三種表示方法均有 符號位 和 數值位 兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位最高位的?位是被當做符號位,剩余的都是數值位。 正整數的原、反、

    2024年04月10日
    瀏覽(32)
  • c語言-數據在內存中的存儲

    c語言-數據在內存中的存儲

    1.整數的2進制表示方法有三種,即 原碼、反碼和補碼 2. 三種表示方法均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位最高位的一位是被當做符號位,剩余的都是數值位。 3. 存儲時存儲的是補碼,取出的時取出的原碼 如: 正負數的原碼、反

    2024年02月04日
    瀏覽(18)
  • <C語言> 數據在內存中的存儲

    <C語言> 數據在內存中的存儲

    C語言中的基本內置類型如下: 類型的意義: 1.使用這個類型開辟內存空間的大?。ù笮Q定了使用范圍)。 2.如何看待內存空間的視角。 整型家族: 注意:char有些編譯器沒有規(guī)定是unsigned還是signed 浮點數家族: 構造類型: 指針類型: 空類型: void 表示空類型(無類型)

    2024年02月16日
    瀏覽(25)
  • C語言——數據在內存中的存儲

    C語言——數據在內存中的存儲

    本章重點 1. 數據類型詳細介紹 2. 整形在內存中的存儲:原碼、反碼、補碼 3. 大小端字節(jié)序介紹及判斷 4. 浮點型在內存中的存儲解析 目錄 1. 數據類型介紹 1.1 類型的基本歸類 2. 整形在內存中的存儲 2.1 原碼、反碼、補碼 2.2 大小端介紹 2.3 練習 2.4 unsigned char 和 signed char的區(qū)別

    2024年02月08日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包