c語言中 long longlong double 佔用

2022-02-26 16:17:11 字數 5009 閱讀 5876

1樓:

long long是long long int的略寫,佔用8位元組空間。long double佔用10位元組空間,但有的編譯器並不認可10位元組,還是8位元組,比如在vc++6.0下,用sizeof(long double)測出來的值仍然是8。

2樓:匿名使用者

long long ;long double; 資料型別的大小在不同的硬體平臺及作業系統上的c編譯器實現可能都不一樣,具體可以用 sizeof(資料型別) 如 sizeof(long long) 計算出來。在 windos xp 作業系統下, vs2008 中的 vc++ 中, long long 和 long double 都是 8 個位元組。

3樓:匿名使用者

printf("%d %d\n",sizeof(long long),sizeof(long double)); //這個個語句即可測試出來。

4樓:匿名使用者

long 4個。double 8個。沒用過long long 和long double 這兩種資料型別

c語言中想輸出double和long double型分別用什麼控制字元?

5樓:yangzhi涯

1、%f 是輸出 float 型變數;%f 是輸出 double 型變數;%lf 是輸出 long double 型變數。

2、在c語言中,對於數值型別只有通過printf類函式輸出這一種方式,比如printf, sprintf, fprintf等。這類函式輸出時要求有格式符號,其中long double的格式符號為%lf。

以下是一個簡單的參考**,輸出到標準輸出裝置。

#include

int main()

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言制定了一套完整的美國國家標準語法,稱為ansi c,作為c語言最初的標準。目前2023年12月8日,國際標準化組織(iso)和國際電工委員會(iec)釋出的c11標準是c語言的第三個官方標準,也是c語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。

6樓:菲菲大愛

在c語言中,對於數值型別只有通過printf類函式輸出這一種方式,比如printf, sprintf, fprintf等。這類函式輸出時要求有格式符號,其中long double的格式符號為%llf

以下是一個簡單的參考**,輸出到標準輸出裝置。

#include int main()

關於long double, 需要說明的是,在原始的c標準中是沒有這個型別的,c99中才新增了該型別。而在c99及後續的規範中,對於該型別規定的也並不詳細,只是要求long double型別在精度上需要不少於double的精度。於是就出現了有的編譯器不支援long double, 而支援的編譯器在實現上也有所區別,目前常見的long double有佔用8位元組,10位元組,12位元組和16位元組四種,但輸出格式都是相同的%llf。

如果想知道使用的編譯器是如何實現的,可以用printf("%d", sizeof(long double));輸出long double佔用的空間值。

7樓:張風富志勇

不同的編譯器 long

long ;long

double

佔用多少記憶體空間可能會有所不同。

你可以用下面的程式得到:

#include

#include

#include

intmain(void)

就我的編譯器來說,其結果為:

也就說說long

long佔8個位元組,long

double佔16個位元組。

而且從程式中也可看到,long

long的控制字元是%lld,long

double的是%le

8樓:精品建築電氣

這個很簡單丫!

如果是【輸出printf】的輸出項是double或float時,可以用f或e作為格式描述字元,(其中double也可以用%lf或%le)。

注意:如果是【輸入scanf】的輸入項為double時,則必須用%lf或%le【必須有個l】作為格式描述字元。位於輸入項為float與上面的一致。

這個很重要哦!特別是scanf,別搞錯了,二級選擇題都會考哦!

c語言中 int long float double分別佔用了多少個位元組??

9樓:

char/signed char/unsigned char: 1個位元組;char*(即指標變數):2個位元組(16位編譯器)4個位元組(32位編譯器)8個位元組(64位編譯器) short int:

2個位元組 int/unsigned int:2個位元組(16位編譯器)4個位元組(32/64位編譯器) long int: 4個位元組 float:

4個位元組 double: 8個位元組 long double: 8/10/12/16?

long/unsigned long:4個位元組(16/32位編譯器)8個位元組(64位編譯器) long long: 8個位元組 string:

字元個數+1...

10樓:

你可以用sizeof來測算一個型別或一個變數佔用的記憶體大小。

比如:size_t size = sizeof(int);

常用型別大小如下:

型別大小bool

1 個位元組

char , unsigned char, signed char

1 個位元組

short, unsigned short

2 個位元組

int , unsigned int

4 個位元組

__int n

8、16、32、64 或 128 位元組依賴 n 的值。__intn 是 microsoft 專用的。

long, unsigned long

4 個位元組

float

4 個位元組

double

8 個位元組

long double 1

8 個位元組

long long

等效於 __int64。

c語言中 long double 該怎怎麼用?

11樓:匿名使用者

long double對應的格式控制符是%lf

12樓:風若遠去何人留

long double 是c99新出關鍵字,要使用,需要先確認編譯器是否支援c99。

可以在程式中定義

long double a;

如果編譯不出錯,則支援。否則可能不支援。

支援情況下,可以如上進行定義,賦值運算操作與其它基本型別相同。

輸入輸出時,使用格式字元%llf。

比如scanf("%llf", &a);

printf("get a's value is %llf\n", a);

13樓:匿名使用者

最新測試結果

vc8 vc2012均不支援 long double!!

它們會將其當做double處理

gcc3.2 gcc4.7 gcc4.8可以支援到long double,

精度約為18.96488973位(十進位制位)或63位2進位制位一位符號位

32位指數

可以用printf("%lf\n", x)輸出

14樓:

首先你沒有設定小數精確的位數,軟體預設輸出6位小數,且最後一位遵循四捨五入的原則。

其次我就不知道了。。。。。

c語言中想輸出double和long double型用%什麼?

15樓:yangzhi涯

1、%f 是輸出 float 型變數;%f 是輸出 double 型變數;%lf 是輸出 long double 型變數。

2、在c語言中,對於數值型別只有通過printf類函式輸出這一種方式,比如printf, sprintf, fprintf等。這類函式輸出時要求有格式符號,其中long double的格式符號為%lf。

以下是一個簡單的參考**,輸出到標準輸出裝置。

#include

int main()

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言制定了一套完整的美國國家標準語法,稱為ansi c,作為c語言最初的標準。目前2023年12月8日,國際標準化組織(iso)和國際電工委員會(iec)釋出的c11標準是c語言的第三個官方標準,也是c語言的最新標準,該標準更好的支援了漢字函式名和漢字識別符號,一定程度上實現了漢字程式設計。

16樓:

你好朋友

你說的是控制字元.

l是許多控制字元中的一個.如 %ld 其中d是輸出整形但加了l表示輸出長整形.

有如 %lf 是輸出實型但加了l表示的就是輸出的實型就是double

17樓:匿名使用者

long double 只用 % l f.

double 大小寫l都可.

c語言中作用C語言中作用

取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...

請問C語言中,1,請問C語言中,

是求餘數的意思,a b也就是a除以b餘幾 1 2 0餘1,那1 2 1 這裡 是取餘數的意思 1除以2 餘數就是1咯 計算步驟的話。cpu有直接的整數除法指令,商和餘數分別放在不同的暫存器裡。這些都交給編譯器了,我們不用理了 取模運算。也就是1除2的餘數?結果 1 除數是2的時候很特殊.a 2 等同...

C語言中exit怎麼用,在C語言中,exit 0 是什麼意思

exit 結束當前程序 當前程式 在整個程式中,只要呼叫 exit 就結束。return 是當前函式返回,當然如果是在主函式main,自然也就結束當前程序了,如果不是,那就是退回上一層呼叫。在多個程序時.如果有時要檢測上程序是否正常退出的.就要用到上個程序的返回值。exit 1 表示程序正常退出.返...