各資料型別常用的stdio格式

2021-05-23 23:23:23 字數 2571 閱讀 9838

資料型別名稱

位元組數

別名

stdio基本說明格式

int*

signed, signed int

%d, %i

unsigned int*

unsigned

%u, %o, %x, %x

__int81

char, signed char

%hhd

__int162

short, short int, signed short int

%hd__int324

long, long int, signed long int

%ld, (%i32d)

__int648

long long, long long int, signed long long int

%lld, (%i64d)

bool1

char1

signed char, (__int8)

%hhd, %c

unsigned char1

%hhu, %hho, %hhx, %hhx

short2

short int, signed short int, (__int16)

%hdunsigned short2

unsigned short int

%hu, %ho, %hx, %hx

long4

long int, signed long int, (__int32)

%ld, (%i32d)

unsigned long4

unsigned long int

%lu, (%i32u), %lo, %lx, %lx

long long8

long long int, signed long long int, (__int64)

%lld, (%i64d)

unsigned long long8

unsigned long long int

%llu, (%i64u), %llo, %llx, %llx

enum*

float4

無 %f, %e, %e, %g, %g

double8

無 %lf, %le, %le, %lg, %lg

long double*

無 %llf, %lle, %lle, %llg, %llg

wchar_t2

__wchar_t

char*

%s void **

%p 說明:

1、上述基本型別說明:

(1)、對於整數,d(i)代表有符號,u代表無符號,h和l分別用來進一步說明字長,防止出錯,32位和64位整數還提供了i32和i64這樣的說明格式;o和x(x)分別是八進位制和十六進製制輸出,x和x只是字母大小寫的區別,不過,形如%o%x%x這樣的輸出是沒有字首的,補充字首的格式見下文;

(2)、對於浮點數,f是浮點輸出,e(e)是科學計數法輸出,後者同樣是冪符號的大小寫區別,l用來增補長度;g(e)則是取f和e(e)中的較短者輸出;

2、格式標識

'正整數': 設定輸出場寬,當輸出實際長度大於設定場寬,則忽略該設定

'-'和'0': 無'-'和'0'時結果右對齊,左端補充空格;設定'-'時結果左對齊,右端補充空格;(對整數,還可以設定'0'表示右對齊,左端補充'0')

'+'和' ': 設定數字符號格式,'+'表示正負號都輸出,' '表示只輸出符號,不輸出正號

'#': 設定幾種數字的格式。對o:輸出字首0;對x(x):輸出字首0x(0x);對g(g):輸出尾隨0(預設是不輸出尾隨0的);對f:保證輸出小數點(即使浮點後沒有數字)

3、精度設定

'.正整數': 對f的設定,沒有此設定時預設輸出6位,注意:有捨入而非截去

總結:格式標誌(如果可用)和精度設定(如果可用)插入在百分號和格式說明中間,即(下面用豎桿隔開):

"%|格式標誌|精度設定|格式說明"

簡單舉乙個例子:printf("%-12.8lf/n", doublevar);

測試的時候發現了一些小問題:比如long double的實際精度確實沒有想象的那麼大

宣告: 水平有限,可能有錯漏的地方,歡迎批評指正

SQL中各資料型別的區別

資料型別 預設長度 字元數 char 定義的列長度 varchar 定義的列長度 nchar 定義的列長度的兩倍 nvarchar 定義的列長度的兩倍 text 0 ntext 0 bit 1 binary 定義的列長度的兩倍 1 varbinary 定義的列長度的兩倍 1 image 0 date...

《JavaScript中各資料型別的詳解》

型別 中文解釋 1 string 字串 2 number 數字 3 boolean 布林 4 object 物件 5 null 空 6 underfined 未定義 array 陣列 特殊的object var num1 2 整數 var num2 2.5 小數 var num3 le2 var n...

C中各資料型別的取值範圍

以前學了那麼久的c,一直不清楚各資料型別佔多少位,取值範圍是多少。因為書上都說的不具體,只是說int一般是16位或者32位,short一般16位,long物件一般是32位等 等。c程式語言 中的練習2 1很簡便的幫忙解決了這個問題,不僅利於理解,而且直接可在不同的機器得到答案。如何獲得各資料型別的取...