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

C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

這篇具有很好參考價(jià)值的文章主要介紹了C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、 整數(shù)在內(nèi)存中的存儲(chǔ)

在講解操作符的時(shí)候,我們就講過(guò)了下?的內(nèi)容:
整數(shù)的2進(jìn)制表示方法有三種,即 原碼、反碼和補(bǔ)碼
三種表示方法均有符號(hào)位數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位最高位的?位是被當(dāng)做符號(hào)位,剩余的都是數(shù)值位。
正整數(shù)的原、反、補(bǔ)碼都相同。
負(fù)整數(shù)的三種表示方法各不相同。
原碼: 直接將數(shù)值按照正負(fù)數(shù)的形式翻譯成二進(jìn)制得到的就是原碼。
反碼: 將原碼的符號(hào)位不變,其他位依次按位取反就可以得到反碼。
補(bǔ)碼: 反碼+1就得到補(bǔ)碼。

對(duì)于整形來(lái)說(shuō):數(shù)據(jù)存放內(nèi)存中其實(shí)存放的是補(bǔ)碼。
為什么呢?

在計(jì)算機(jī)系統(tǒng)中,數(shù)值?律用補(bǔ)碼來(lái)表示和存儲(chǔ)。
原因在于,使用補(bǔ)碼,可以將符號(hào)位和數(shù)值域統(tǒng)一處理;
同時(shí),加法和減法也可以統(tǒng)一處理(CPU只有加法器)此外,補(bǔ)碼與原碼相互轉(zhuǎn)換,其運(yùn)算過(guò)程是相同的,不需要額外的硬件電路。

二、 大小端字節(jié)序和字節(jié)序判斷

當(dāng)我們了解了整數(shù)在內(nèi)存中存儲(chǔ)后,我們調(diào)試看一個(gè)細(xì)節(jié):

#include <stdio.h>
int main()
{
 	int a = 0x11223344;
 	return 0;
}

調(diào)試的時(shí)候,我們可以看到在a中的 0x11223344 這個(gè)數(shù)字是按照字節(jié)為單位,倒著存儲(chǔ)的。這是為什么呢?
C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享
嘿嘿,這就要說(shuō)到大小端的問(wèn)題了,且聽(tīng)我仔細(xì)到來(lái)。

1.什么是大小端

其實(shí)超過(guò)一個(gè)字節(jié)的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的時(shí)候,就有存儲(chǔ)順序的問(wèn)題,按照不同的存儲(chǔ)順序,我們分為?端字節(jié)序存儲(chǔ)和小端字節(jié)序存儲(chǔ),下面是具體的概念:
大端(存儲(chǔ))模式: 是指數(shù)據(jù)的低位字節(jié)內(nèi)容保存在內(nèi)存的高地址處,而數(shù)據(jù)的高位字節(jié)內(nèi)容,保存在內(nèi)存的低地址處。
小端(存儲(chǔ))模式: 是指數(shù)據(jù)的低位字節(jié)內(nèi)容保存在內(nèi)存的低地址處,而數(shù)據(jù)的高位字節(jié)內(nèi)容,保存在內(nèi)存的高地址處。
上述概念需要記住,方便分辨大小端。

2.為什么有大小端

為什么會(huì)有大小端模式之分呢?
這是因?yàn)樵谟?jì)算機(jī)系統(tǒng)中,我們是以字節(jié)為單位的,每個(gè)地址單元都對(duì)應(yīng)著一個(gè)字節(jié),一個(gè)字節(jié)為8bit 位,但是在C語(yǔ)言中除了8 bit 的 char 之外,還有16 bit 的 short 型,32 bit 的 long 型(要看具體的編譯器),另外,對(duì)于位數(shù)大于8位的處理器,例如16位或者32位的處理器,由于寄存器寬度?于一個(gè)字節(jié),那么必然存在著一個(gè)如何將多個(gè)字節(jié)安排的問(wèn)題。因此就導(dǎo)致了大端存儲(chǔ)模式和小端存儲(chǔ)模式。
例如:?個(gè) 16bitshortx ,在內(nèi)存中的地址為 0x0010 , x 的值為 0x1122 ,那么0x11 為高字節(jié), 0x22 為低字節(jié)。對(duì)于大端模式,就將 0x11 放在低地址中,即 0x0010 中,0x22 放在高地址中,即 0x0011 中。小端模式,剛好相反。我們常用的 X86 結(jié)構(gòu)是小端模式,而KEIL C51 則為大端模式。很多的ARM,DSP都為小端模式。有些ARM處理器還可以由硬件來(lái)選擇是大端模式還是小端模式。

3.練習(xí)

(1)練習(xí)1

請(qǐng)簡(jiǎn)述大端字節(jié)序和小端字節(jié)序的概念,設(shè)計(jì)?個(gè)小程序來(lái)判斷當(dāng)前機(jī)器的字節(jié)序。(10分)-百度筆試題
首先來(lái)看一張解析圖:
C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享
從圖中我們可以發(fā)現(xiàn),只要判斷n第一個(gè)字節(jié)地址處的內(nèi)容是1還是0,就能得知是大端存儲(chǔ)的還是小端存儲(chǔ)的。
那么代碼就可以這樣實(shí)現(xiàn):

//代碼1
#include <stdio.h>
int check_sys()
{
	 int n= 1;
	 return (*(char *)&n);
	 //取出n的地址強(qiáng)制轉(zhuǎn)換為char*類型,再解引用訪問(wèn)的就是
	 //內(nèi)存中n第一個(gè)字節(jié)的內(nèi)容
}
int main()
{
	 int ret = check_sys();
	 if(ret == 1)
	 {
		 printf("?端\n");
	 }
	 else
	 {
		 printf("?端\n");
 	}
	 return 0;
}

像這道題還有沒(méi)有其他的實(shí)現(xiàn)方法呢?當(dāng)然了,這種方法更加巧妙的應(yīng)用到了一個(gè)知識(shí)點(diǎn):聯(lián)合體(union)
這里簡(jiǎn)單列舉一下聯(lián)合體的特點(diǎn):

  • 成員首地址相同,也就是通過(guò)不同的成員訪問(wèn)會(huì)從相同的起始地址開(kāi)始取數(shù)據(jù),至于取多少個(gè)地址的數(shù)據(jù)取決于具體成員的類型
  • union內(nèi)存空間的分配按照其占用內(nèi)存最大的成員來(lái)進(jìn)行分配

那么代碼怎么實(shí)現(xiàn)呢?

//代碼2
int check_sys()
{
	union
 	{
		 int i;
 		 char c;
	}un;
 	un.i = 1;
 	return un.c;
}

因?yàn)樗鼈児灿靡粔K內(nèi)存空間,而且不同的成員訪問(wèn)會(huì)從相同的起始地址開(kāi)始取數(shù)據(jù),又因?yàn)閡n.c是字符類型數(shù)據(jù),所以返回un.c也就是返回un.i第一個(gè)字節(jié)處的內(nèi)容,怎么樣,有沒(méi)有被驚訝到呢???聯(lián)合體不是怎么懂?沒(méi)關(guān)系,下一期,我們就會(huì)詳細(xì)講到聯(lián)合體是干什么用的。

(2)練習(xí)2

#include <stdio.h>
int main()
{
 	 char a= -1;
	 signed char b=-1;
	 unsigned char c=-1;
	 printf("a=%d,b=%d,c=%d",a,b,c);
	 return 0;
}

這個(gè)的打印結(jié)果會(huì)是什么呢?仔細(xì)想一想

a=-1,b=-1,c=255

(3)練習(xí)3

#include <stdio.h>
int main()
{
	char a = -128;
	printf("%u\n", a);
	return 0;
}

那我們來(lái)分析一下:

int main()
{
	char a = -128;//128為十進(jìn)制數(shù)
	//-128的源碼:10000000 00000000 00000000 10000000
	//-128的反碼:11111111 11111111 11111111 01111111
	//-128的補(bǔ)碼:11111111 11111111 11111111 10000000
	//a是char類型只能存8個(gè)比特位
	//所以存的是10000000
	printf("%u\n", a);
	//a是char類型,首先要整型提升
	//a是char類型,最高位是符號(hào)位,所以直接補(bǔ)符號(hào)位
	//提升后:11111111 11111111 11111111 10000000
	//%u的形式打印,是認(rèn)為a中存放的是無(wú)符號(hào)數(shù)
	//所以直接以十進(jìn)制的形式打印這個(gè)數(shù)
	return 0;
}

打印結(jié)果為:

4294967168

那再來(lái)一道題:

#include <stdio.h>
int main()
{
 	char a = 128;
 	printf("%u\n",a);
	return 0;
}

相信此時(shí)的你心里已經(jīng)有答案了趴!直接照貓畫(huà)虎按照上面的思路來(lái)做就可以了,那答案會(huì)是什么呢?會(huì)和上面一樣嗎?

(4)練習(xí)4

#include <stdio.h>
int main()
{
 	char a[1000];
 	int i;
 	for(i=0; i<1000; 
 	{
		a[i] = -1-i;
	}
 	printf("%d",strlen(a));//求的是字符串的長(zhǎng)度,統(tǒng)計(jì)
 	//的是\0(ACSII碼值是0)之前的字符個(gè)數(shù)
 	return 0;
}

這道題a的長(zhǎng)度會(huì)是多少呢?

255

為什么不是1000呢?來(lái)看一張圖:
C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享
而stelen求的是\0(ACSII碼是0)之前的字符個(gè)數(shù),也就是char能存儲(chǔ)的最小值到最大值的個(gè)數(shù),128+127=255,所以當(dāng)把0賦值給arr[i]的時(shí)候,strlen就已經(jīng)計(jì)算出結(jié)果了。

(5)練習(xí)5

//第一道
#include <stdio.h>
unsigned char i = 0;
int main()
{
	for(i = 0;i<=255;i++)
	{
		printf("hello world\n");
	}
	return 0;
}

//第二道
#include <stdio.h>
int main()
{
	unsigned int i;
	for(i = 9; i >= 0; i--)
	{
		printf("%u\n",i);
	}
	return 0;
}

代碼輸出的結(jié)果是啥?死循環(huán)?相信聰明的你一定會(huì)發(fā)現(xiàn)其中的端倪滴??

(6)練習(xí)6

#include <stdio.h>
//x86 小端字節(jié)序下
int main()0
"
{
	int a[4] = { 1, 2, 3, 4 };
	int *ptr1 = (int *)(&a + 1);
	int *ptr2 = (int *)((int)a + 1);
	printf("%x,%x", ptr1[-1], *ptr2);
	return 0;
}

相信第一個(gè)打印的數(shù)字肯定難不倒你,那第二個(gè)呢?
咱們來(lái)分析一下第二個(gè)打印的結(jié)果會(huì)是什么?看圖:
C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享
打印結(jié)果為:

4,2000000//如果想打印成這種形式:0x4,0x02000000只需要以%#x打印就可以了

三、 浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)

常見(jiàn)的浮點(diǎn)數(shù):3.14159、1E10等,浮點(diǎn)數(shù)家族包括:float、double、long double 類型。
浮點(diǎn)數(shù)表示的范圍:float.h 中定義

1.練習(xí)

#include <stdio.h>
int main()
{
	int n = 9;
	float *pFloat = (float *)&n;
	printf("n的值為:%d\n",n);
	printf("*pFloat的值為:%f\n",*pFloat);
	*pFloat = 9.0;
	printf("num的值為:%d\n",n);
	printf("*pFloat的值為:%f\n",*pFloat);
	return 0;
}

輸出什么?

2.浮點(diǎn)數(shù)的存儲(chǔ)

上面的代碼中,num*pFloat 在內(nèi)存中明明是同一個(gè)數(shù),為什么浮點(diǎn)數(shù)和整數(shù)的解讀結(jié)果會(huì)差別這么大?
要理解這個(gè)結(jié)果,一定要搞懂浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部的表示方法。
根據(jù)國(guó)際標(biāo)準(zhǔn)IEEE(電氣和電子工程協(xié)會(huì)) 754,任意一個(gè)二進(jìn)制浮點(diǎn)數(shù)V可以表示成下面的形式:

V = (?1)的S次方* M *2的E次方

  • (?1)的S次方表示符號(hào)位,當(dāng)S=0,V為正數(shù);當(dāng)S=1,V為負(fù)數(shù)
  • M 表示有效數(shù)字,M是大于等于1,小于2的
  • 2的E次方表示指數(shù)位

舉例來(lái)說(shuō):
十進(jìn)制的5.0,寫(xiě)成二進(jìn)制是 101.0 ,相當(dāng)于 1.01×2^2 。
那么,按照上面V的格式,可以得出S=0,M=1.01,E=2。
十進(jìn)制的-5.0,寫(xiě)成二進(jìn)制是 -101.0 ,相當(dāng)于 -1.01×2^2 。那么,S=1,M=1.01,E=2。
IEEE 754規(guī)定:
對(duì)于32位的浮點(diǎn)數(shù),最高的1位存儲(chǔ)符號(hào)位S,接著的8位存儲(chǔ)指數(shù)E,剩下的23位存儲(chǔ)有效數(shù)字M
對(duì)于64位的浮點(diǎn)數(shù),最高的1位存儲(chǔ)符號(hào)位S,接著的11位存儲(chǔ)指數(shù)E,剩下的52位存儲(chǔ)有效數(shù)字M
C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享
C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ),c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,經(jīng)驗(yàn)分享

(1) 浮點(diǎn)數(shù)存的過(guò)程

IEEE 754 對(duì)有效數(shù)字M和指數(shù)E,還有?些特別規(guī)定。
前面說(shuō)過(guò),1≤M<2 ,也就是說(shuō),M可以寫(xiě)成 1.xxxxxx 的形式,其中 xxxxxx 表示小數(shù)部分。
IEEE 754 規(guī)定,在計(jì)算機(jī)內(nèi)部保存M時(shí),默認(rèn)這個(gè)數(shù)的第一位總是1,因此可以被舍去,只保存后?的xxxxxx部分。比如保存1.01的時(shí)候,只保存01,等到讀取的時(shí)候,再把第一位的1加上去。這樣做的目的,是節(jié)省1位有效數(shù)字。以32位浮點(diǎn)數(shù)為例,留給M只有23位,將第一位的1舍去以后,等于可以保存24位有效數(shù)字。
至于指數(shù)E,情況就比較復(fù)雜
首先,E為一個(gè)無(wú)符號(hào)整數(shù)(unsigned int)

這意味著,如果E為8位,它的取值范圍為0到255;如果E為11位,它的取值范圍為0~2047。但是,我們知道,科學(xué)計(jì)數(shù)法中的E是可以出現(xiàn)負(fù)數(shù)的,所以IEEE 754規(guī)定,存入內(nèi)存時(shí)E的真實(shí)值必須再加上一個(gè)中間數(shù),對(duì)于8位的E,這個(gè)中間數(shù)是127;對(duì)于11位的E,這個(gè)中間數(shù)是1023。比如,2^10的E是10,所以保存成32位浮點(diǎn)數(shù)時(shí),必須保存成10+127=137,即10001001。

(2)浮點(diǎn)數(shù)取的過(guò)程

指數(shù)E從內(nèi)存中取出還可以再分成三種情況:
E不全為0或不全為1
這時(shí),浮點(diǎn)數(shù)就采用下面的規(guī)則表示,即指數(shù)E的計(jì)算值減去127(或1023),得到真實(shí)值,再將有效數(shù)字M前加上第一位的1。
比如:0.5 的二進(jìn)制形式為0.1,由于規(guī)定正數(shù)部分必須為1,即將小數(shù)點(diǎn)右移1位,則為1.0*2^(-1),其階碼為-1+127(中間值)=126,表示為01111110,而尾數(shù)1.0去掉整數(shù)部分為0,補(bǔ)齊0到23位00000000000000000000000,則其二進(jìn)制表示形式為:

0 01111110 00000000000000000000000

E全為0
這時(shí),浮點(diǎn)數(shù)的指數(shù)E等于1-127(或者1-1023)即為真實(shí)值,有效數(shù)字M不再加上第一位的1,而是還原為0.xxxxxx的小數(shù)。這樣做是為了表示±0,以及接近于0的很小的數(shù)字。

0 00000000 00100000000000000000000

E全為1
這時(shí),如果有效數(shù)字M全為0,表示±無(wú)窮大(正負(fù)取決于符號(hào)位s);

0 11111111 00010000000000000000000

好了,關(guān)于浮點(diǎn)數(shù)的表示規(guī)則,就說(shuō)到這里。

3.題目解析

下面,讓我們回到一開(kāi)始的練習(xí)
先看第1環(huán)節(jié),為什么 9 還原成浮點(diǎn)數(shù),就成了 0.000000 ?
9以整型的形式存儲(chǔ)在內(nèi)存中,得到如下二進(jìn)制序列:

0000 0000 0000 0000 0000 0000 0000 1001

首先,將 9 的二進(jìn)制序列按照浮點(diǎn)數(shù)的形式拆分,得到第一位符號(hào)位s=0,后面8位的指數(shù)E=00000000 ,最后23位的有效數(shù)字M=000 0000 0000 0000 0000 1001。
由于指數(shù)E全為0,所以符合E為全0的情況。因此,浮點(diǎn)數(shù)V就寫(xiě)成:
V=(-1)^0 × 0.00000000000000000001001×2^(-126)=1.001×2 ^(-146)
顯然,V是一個(gè)很小的接近于0的正數(shù),所以用十進(jìn)制小數(shù)表示就是0.000000。
再看第2環(huán)節(jié),浮點(diǎn)數(shù)9.0,為什么整數(shù)打印是 1091567616
首先,浮點(diǎn)數(shù)9.0 等于二進(jìn)制的1001.0,即換算成科學(xué)計(jì)數(shù)法是:1.001×2^3
所以: 9.0 = (?1)^0 ? (1.001) ? 2 ^3 ,
那么,第一位的符號(hào)位S=0,有效數(shù)字M等于001后?再加20個(gè)0,湊滿23位,指數(shù)E等于3+127=130,即10000010
所以,寫(xiě)成二進(jìn)制形式,應(yīng)該是S+E+M,即

0 10000010 001 0000 0000 0000 0000 0000

這個(gè)32位的二進(jìn)制數(shù),被當(dāng)做整數(shù)來(lái)解析的時(shí)候,就是整數(shù)在內(nèi)存中的補(bǔ)碼,原碼正是1091567616 。


好了,數(shù)據(jù)在內(nèi)存中的存儲(chǔ)就是這樣子的,相信聰明的你們看完這篇文章一定理解了趴,最后別忘了給博主一鍵三連喲!你們的支持就是博主堅(jiān)持下去最大的動(dòng)力!?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-846401.html

到了這里,關(guān)于C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C語(yǔ)言】數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

    【C語(yǔ)言】數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

    什么叫做浮點(diǎn)數(shù),就是有小數(shù)的數(shù)據(jù)就要浮點(diǎn)數(shù),比如:5.5 6.5 9.0等一些數(shù)據(jù)就叫浮點(diǎn)數(shù),那么浮點(diǎn)數(shù)又是怎么在內(nèi)存中存放的呢,下面聽(tīng)我一一道來(lái)。 浮點(diǎn)型的家族包括:float double long double 我們以以下代碼為例比較下浮點(diǎn)數(shù)和整型數(shù)據(jù)內(nèi)存中的存儲(chǔ)是如何的: 打印的結(jié)果

    2024年02月07日
    瀏覽(20)
  • 數(shù)據(jù)在內(nèi)存中的存儲(chǔ)(C語(yǔ)言)

    數(shù)據(jù)在內(nèi)存中的存儲(chǔ)(C語(yǔ)言)

    ? ?? 歡迎大家來(lái)到貝蒂大講堂?? ? ????養(yǎng)成好習(xí)慣,先贊后看哦~???? ? 所屬專欄:C語(yǔ)言學(xué)習(xí) ? 貝蒂的主頁(yè):Betty‘s blog ? 我們?cè)缇蛯W(xué)完基本的數(shù)據(jù)類型,那這些數(shù)據(jù)類型到底在內(nèi)存中怎么存儲(chǔ)的呢~,今天貝蒂就帶大家一起深入學(xué)習(xí)一下吧 1.1 整型 貝蒂說(shuō):“因

    2024年02月02日
    瀏覽(16)
  • 【C語(yǔ)言】數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    【C語(yǔ)言】數(shù)據(jù)在內(nèi)存中的存儲(chǔ)詳解

    我們可以把數(shù)據(jù)類型想象為一個(gè)矩形盒子,int、char 等類型 分別為不同的盒子 可以放著不同大小的東西(數(shù)據(jù))(即所占存儲(chǔ)空間的大小) 類型的的意義: 使用這個(gè)類型開(kāi)辟內(nèi)存空間的大?。ù笮Q定了使用范圍) 如何看待內(nèi)存空間的視角。 注意 : 字符在內(nèi)存中存儲(chǔ)的是

    2024年02月13日
    瀏覽(30)
  • 【C語(yǔ)言】數(shù)據(jù)在內(nèi)存中的存儲(chǔ)(一)

    【C語(yǔ)言】數(shù)據(jù)在內(nèi)存中的存儲(chǔ)(一)

    內(nèi)置類型: 所占空間的大?。?類型的意義: 使用這個(gè)類型開(kāi)辟空間的大小,決定只能使用的范圍。 整型家族: 浮點(diǎn)型家族: 構(gòu)造類型: 指針類型: 空類型: void表示空類型 通常用于函數(shù)的返回類型、函數(shù)的參數(shù)、指針類型。 變量創(chuàng)建是要在內(nèi)存開(kāi)辟空間的,空間的大小

    2024年02月10日
    瀏覽(26)
  • 『C語(yǔ)言』數(shù)據(jù)在內(nèi)存中的存儲(chǔ)規(guī)則

    『C語(yǔ)言』數(shù)據(jù)在內(nèi)存中的存儲(chǔ)規(guī)則

    ?? 博客主頁(yè) : 小羊失眠啦. ?? 系列專欄 : C語(yǔ)言 ??? 每日語(yǔ)錄 : 精誠(chéng)所至,金石為開(kāi)。 ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 小羊近期已經(jīng)將C語(yǔ)言初階學(xué)習(xí)

    2024年02月12日
    瀏覽(24)
  • 整形數(shù)據(jù)在內(nèi)存中的存儲(chǔ)(C語(yǔ)言)

    整形數(shù)據(jù)在內(nèi)存中的存儲(chǔ)(C語(yǔ)言)

    1.整形家族 2.(原碼、反碼、補(bǔ)碼)基礎(chǔ)知識(shí) 計(jì)算機(jī)中的整數(shù)有三種2進(jìn)制表示方法,即原碼、反碼和補(bǔ)碼。 三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”。 正數(shù)的原、反、補(bǔ)碼都相同。 負(fù)整數(shù)的三種表示方法各不相同。 原碼 直接將數(shù)值

    2024年01月25日
    瀏覽(19)
  • C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式

    C語(yǔ)言:數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式

    關(guān)于整數(shù)在內(nèi)存中的存儲(chǔ)形式,在博主之前寫(xiě)的文章里已經(jīng)介紹了!友友們可以去點(diǎn)下面鏈接去看,這里就不過(guò)多介紹。 C語(yǔ)言:進(jìn)制的轉(zhuǎn)換以及原碼、反碼、補(bǔ)碼 我們以整型在內(nèi)存中的存儲(chǔ)形式為基礎(chǔ),探究后面的內(nèi)容:整型提升與截?cái)?、算?shù)轉(zhuǎn)換、大小端字節(jié)序和字節(jié)序

    2024年01月23日
    瀏覽(22)
  • 【C語(yǔ)言】詳解數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

    【C語(yǔ)言】詳解數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

    計(jì)算機(jī)能夠處理的是二進(jìn)制的數(shù)據(jù), 整形和浮點(diǎn)型數(shù)據(jù)在內(nèi)存中也都是以二進(jìn)制的形式存儲(chǔ)的。 整數(shù)2進(jìn)制表示方法,即原、反、補(bǔ)碼,三種均有 符號(hào)位 和 數(shù)值位 倆部分,符號(hào)位用0表示 正 ,1表示 負(fù) 。 正 的整數(shù):原、反、補(bǔ)碼相同。 負(fù) 的整數(shù):原、反、補(bǔ)碼要進(jìn)行計(jì)

    2024年02月08日
    瀏覽(25)
  • 『C語(yǔ)言進(jìn)階』數(shù)據(jù)在內(nèi)存中的存儲(chǔ)規(guī)則

    『C語(yǔ)言進(jìn)階』數(shù)據(jù)在內(nèi)存中的存儲(chǔ)規(guī)則

    ?? 博客主頁(yè) : 小羊失眠啦. ?? 系列專欄 : C語(yǔ)言 ??? 每日語(yǔ)錄 : 精誠(chéng)所至,金石為開(kāi)。 ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 小羊近期已經(jīng)將C語(yǔ)言初階學(xué)習(xí)

    2024年02月10日
    瀏覽(22)
  • C語(yǔ)言—深度剖析數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

    C語(yǔ)言—深度剖析數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

    內(nèi)置類型(C語(yǔ)言本身就具有的類型): 類型的意義: 1.使用這個(gè)類型開(kāi)辟內(nèi)存空間的大?。ù笮Q定了使用的范圍) 2.如何看待內(nèi)存空間的視角 整形家族: 注:字符類型底層存儲(chǔ)的是這個(gè)字符的ASCII值,ASCII值是個(gè)整數(shù) 浮點(diǎn)數(shù)家族: 構(gòu)造類型(自定義類型): 數(shù)組類型 注

    2024年02月03日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包