㈠ 在c語言中各種數據類型各佔多少位
(一)32位平台:
分為有符號型與無符號型。
有符號型:
short 在內存中占兩個位元組,范圍為-2^15~(2^15-1)
int 在內存中佔四個位元組,范圍為-2^31~(2^31-1)
long在內存中佔四個位元組,范圍為-2^31~2^31-1
無符號型:最高位不表示符號位
unsigned short 在內存中占兩個位元組,范圍為0~2^16-1
unsigned int 在內存中佔四個位元組,范圍為0~2^32-1
unsigned long在內存中佔四個位元組,范圍為0~2^32-1
實型變數:
分單精度 float 和雙精度 double 兩種形式:
float:佔四個位元組,提供7~8位有效數字。
double: 佔八個位元組,提供15~16位有效數字。
(二)16位平台:
1)整型(基本型):類型說明符為int,在內存中佔2個位元組。
2)短整型:類型說明符為short int或short。所佔位元組和取值范圍均與整型(基本型)相同。
3)長整型:類型說明符為long int或long,在內存中佔4個位元組。
無符號型:類型說明符為unsigned。
無符號型又可與上述三種類型匹配而構成:
各種無符號類型量所佔的內存空間位元組數與相應的有符號類型量相同。但由於省去了符號位,故不能表示負數。
實型變數:
分為單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。
單精度型佔4個位元組(32位)內存空間,其數值范圍為3.4E-38~3.4E+38,只能提供七位有效數字。
雙精度型佔8 個位元組(64位)內存空間,其數值范圍為1.7E-308~1.7E+308,可提供16位有效數字。
長雙精度型16 個位元組(128位)內存空間,可提供18-19位有效數字。
㈡ C語言,int變數為什麼佔4個位元組32位64位又是什麼意思
int變數占的位元組數取決於機器的指令字長,32位的機器指令就是4位元組。32位就是32個二進制位,就是4個位元組;64位就是8位元組
㈢ C語言中float,char,int函數各占幾個位元組,如何證明,%12d,%12f是什麼意思
float,char,int型數據分別佔4,1,4個位元組,不是函數,是數據
用sizeof運算可以證明
printf("%d,%d,%d\n",sizeof(float),sizeof(char),sizeof(int));
%nd,這里的n表示輸出數據占幾位,默認是靠右對齊,不足的用空格補齊,超出的正常顯示。%nf一樣的意思。
㈣ C語言字元數占幾個位元組,又是多少位。
一個字元一個位元組
共8位(bit)
可以用sizeof(類型)來測試
㈤ c語言數據長度16位和32位什麼意思
樓上不要胡說!
>>是說16位的機器就是2個,32位是4個嗎?
這句話說的不太對,
這個其實指的是編譯器的位數,
對於16位編譯器(例如,tc),int型佔2個位元組
對於32位編譯器(例如,vc,gcc),int型佔4個位元組
這里指的是編譯器的位數,不是cpu的位數
㈥ 第一列佔5位,其餘兩列佔15位在c語言中是什麼意思
第一列佔5位茄賣雹,其餘兩列佔15位在c語言中,就是說要求輸出多行是採用對齊的格式,一般配棗採用指顫帆定場寬的方式來實現。
㈦ C語言字元數占幾個位元組,又是多少位。
這個要看字元數是什麼數據類型,可以用sizeof(類型)操作符來測試位元組數。
1、英文字母:如果是char 型,那麼是佔用1個位元組,8位。如果是string型,應該是兩個位元組,16位,因為末尾還有個\0字元。
比如:
char c = 'a';//它佔用一個字元
char c[] = "a";//佔用兩個。
char c[] = "abcde";//佔用4+1 = 5 個,結尾有一個'\0'
2、數字:有很多種類,從小到大分別為:
short、int、float、long、double
位元組為:1個、2個、4個、8個、8個
位數為:8位、16位、32位、64位、64位
3、漢字:理論上說,一個漢字佔用兩個位元組,16位。比如:中國,就佔用4個位元組,例如:
char c[] = "中國";//佔用4+1 = 5個字元
㈧ c語言中關於佔位的問題
整形變數佔位符就是用%d
%lf是double的佔位符
float類型變數也可以用佔位符%f,如果用%d,那列印出來的就是整形的
%i最好不用
字元 輸入數據;變元類型
d 十進制整數;int *
i 整數;int *。該整數可以是以0開頭的八進制數,也可以是以0x/0X開頭的十六進制數
o 八進制數(可以帶或不帶前導0);unsigned int *
u 無符號十進制整數;unsigned int *
x 十六進制整數(可以帶或不帶前導0x/0X);unsigned int *
c 字元;char *。按照欄位寬的大小把讀入的字元保存在指定的數組中,不加入字元'\0'。欄位寬的預設值為1。在這種情況下,不跳過空白符;如果要讀入下一個非空白符,使用%1s(數字1)
s 有非空白符組成的字元串(不包含引號);char *。該變元指針指向一個字元數組,該字元數組有足夠空間來保存該字元串以及在末尾添加的'\0'
e/f/g 浮點數;float *。float浮點數的輸入格式為:一個任選的正負號,一串可能包含小數點的數字和一個任選的指數欄位。指數欄位由字母e/E以及後跟的一個可能帶正負號的整數組成
p 用printf("%p")調用輸出的指針值;void *
n 將到目前為止此調用所讀的字元數寫入變元;int *。不讀入輸入字元。不增加轉換項目計數
[...] 用方括弧括起來的字元集中的字元來匹配輸入,以找到最長的非空字元串;char *。在末尾添加'\0'。格式[]...]表示字元集中包含字元]
[^...] 用不在方括弧里的字元集中的字元來匹配輸入,以找到最長的非空字元串;char *。在末尾添加'\0'。格式[]...]表示字元集中包含字元]
% 字面值%,不進行賦值
c99標准
㈨ c語言輸出形式:學號佔3位,姓名佔6位是什麼意思
是說輸出字體佔用最小寬度。在輸出格式前加數字,當不足數字大小時補空格,保證最小輸出寬度。
比如:學號33,姓名abc。那麼代碼printf("%3d%6s",33,"abc");33寬度只有2就會在左邊補1個空格,同理abc寬度只有與3,就會在左邊補3個空格。
如代碼寫負數printf("%-3d%-6s",33,"abc");那麼不足寬度時,會在右邊補空格。
㈩ 一個數字在C語言中是多少個位元組
一個數字在C語言中是2、4、8個位元組,以int類型、float類型和double類型來表示。
int類型佔用2位元組內存,表示整數,數據范圍在-2^31~2^31-1(-2147483648~2147483647)之間。
float類型佔用4位元組內存,表示單精度浮點數,數據范圍在-2^128 ~ 2^128(-3.40E+38 ~ +3.40E+38)之間。
double類型佔用8位元組內存,表示雙精度浮點數,數據范圍在-2^256 ~ 2^256(-1.90E+308 ~ +1.80E+308)之間。
(10)c語言中占幾位什麼意思擴展閱讀:
雙精度浮點型類型數值可轉換到其他類型的整數或浮點數,反之亦然。雙精度浮點型常量的最後一個字元可加上「d」或「D」。其存儲格式與浮點型類似,最高位為符號位,次高11位為指數位,其次52位為尾數。
雙精度浮點型同數值型比,它能提供更高的數值精度,採用固定存儲長度的浮點數形式,每個雙精度浮點型數據佔8個位元組。與數值型數據不同,它的小數點位置是由輸入的數據值來決定的,並且只能用於表中的欄位。