❶ c語言問題,答案是B。怎麼知道int是四個位元組的
這個是由C語言規定的。存儲一個int類型的數據要佔用1個機器字長,目前計算機一般32位,1個位元組佔8位,所以int類型是有4個位元組。
❷ c語言中定義一個整型變數劃分四個位元組 那麼訪問地址個數是一個還是4個
佔四個位元組空間,訪問時地址只有一個,即首地址。
但由於是四個位元組,所以實際上有四個地址,可以通過強制轉換的方式,得到其他三個地址並單獨取出其值。
比如
int
a=0x12345678;
unsigned
char
*p
=
(unsigned
char
*)&a
+1;
這樣*p就是第二個位元組的值,按照小端存儲,就是0x56
❸ C語言中,各種類型的整型數據在內存中都佔用4個位元組嗎
不是。
C標准並沒有具體給出規定哪個基本類型應該是多少個位元組數,而且這個也與OS、編譯器有關,比如同樣是在32位操作系統,VC++的編譯器下int類型為4個位元組,而在tuborC下則是2個位元組。
整型類型在雖然16位、32位或者64位的機子各種類型並不一樣,但有幾條規則(ANSI/ISO制定):
short至少佔用2個位元組。
int建議為一個機器字長,32位環境下為4位元組,64位環境下為8位元組。
short的長度不能大於int,long的長度不能小於int。
(3)c語言存儲四個位元組數據擴展閱讀
整型數據分為基本整形(int)、短整型(short int)、長整型(long int)以及新添加的雙長整型(long long int)。
基本整形(int):一般占據2個或者4個位元組,這都是有編譯系統決定的。一般來講在vc中計算機給它分配4個位元組,在計算機中整型數據一般是按補碼的形式存儲的。
短整型(short int):在vc中計算機分配給短整型的內存大小為2個位元組。存儲方式與基本整形相同,一個短整型的數據范圍是:-32768-32767。
長整型數據(long int):在vc中系統分配給它4個位元組,多以一個長整型數據的范圍為-2的31次方到2的31次方減一。
雙長整型(long long int):在vc中系統給它分配8個位元組,這種數據類型一般比較少用。
❹ c語言int占幾個位元組
在一般的電腦中,int佔用4位元組,32比特,數據范圍為-2147483648~2147483647[-2^31~2^31-1]
在之前的微型機中,int佔用2位元組,16比特,數據范圍為-32768~32767[-2^15~2^15-1]
使用printf輸出int佔用位元組數量:
printf("%d",sizeof(int));
除了int類型之外,還有short、long、long long類型可以表示整數。
unsigned int 表示無符號整數,數據范圍為[0~2^32-1]
(4)c語言存儲四個位元組數據擴展閱讀:
int 占 4個位元組 只能表示整數。
char 佔1個位元組 只能表示字元。
float 和double都是表示小數,float佔4位元組,double 佔8位元組,表示的數據范圍不一樣。
❺ C語言中,Int 佔4位元組,是指int變數的地址在內存中佔4位元組也就是32個二進制位,還是指int
int佔4位元組,例如int a;變數a用來存放整型數據,不管a的值是多少,都會為其分配4個位元組的存儲空間來存放數據。
你的例子中,sizeof(a),是求出a的存儲空間的個數,a是數組名,代表的是個地址,而存儲地址,通常與類型無關,也就是不管a是什麼類型數組的數組名,因為地址都是整型值,所以這個應該是和計算機有關的,通常對地址的存儲都是4個位元組,
而sizeof(a[0])是求出數組元素的存儲空間的個數,數組a是double型的,每個元素都是double型的,那存放每個元素都給分8個位元組的空間。
❻ C語言int類型存儲4個位元組,它的值最大值是2147683647為什麼最小值可以是-2147683648
4位元組 共計32位
一位做符號位
0是正數,1是負數
還剩31位。 最大正數 就是2^31-1 也就是2147683647
本來 對應的 負數也該是2147683647個
但1後面全0這個,是-0,沒有什麼意義,就多加一個負數,於是是2147683648個負數
也就是到-2147683648
❼ C語言int類型存儲4個位元組,它的值最大值為什麼是2147683647
剩下31位
只能表示0~2^31 -1 范圍了
不會是2^32
所以是2147683647
❽ c語言中的浮點型數據為何用四個位元組存放而不用更多的位元組數呢
你好!
浮點數一般只用4個位元組float和8個位元組double兩種。對於一般的浮點運算,4個位元組已經夠了。要知道以前的編程環境比現在差很多,能節約內存的時候還是要盡量節約的。
如有疑問,請追問。
❾ 誰能講講c語言中int佔4個位元組,一個數字佔1個位元組,為什麼int能定義很多位數字
這個問題太基礎了吧。
計算機內部只有0和1 ,也就是二進制的,我們平時使用的10進制都要轉換為2進制才能在計算機中存儲和使用。
比如:1個位元組,你最多就能表示2個數字,0 和1.如果給你2位,那麼可表示的數就大多了:00 表示0,01表示1.10表示2.11表示3.但是你不可能使用這2位表示更大的數了。因此int型的4位元組也就只能表示2^32了,不能表示更大。
❿ 一個阿拉伯數字(很大在電腦內存中占幾個位元組,在C語言中數字為什麼佔四個位元組
在c語言中數據是有類型的,每種類型所佔位元組長度都有規定,如果超出存儲范圍就溢出,這與數據在內存中的存儲方式有關。一般情況下編譯器規定一個int型數據佔4個位元組,c語言中只規定了字元型變數佔1個位元組 ,其他的都沒規定。 我們學習一門語言,就必須遵守它的規則。一般情況int型數據與機器的字長保持一致。