C++中的整型数据和浮点型数据的属性

表格 1 整型数据常见的储存空间和值的范围

类型

字节数

取值范围

Int(基本整型)

2

-32768~32767,即-2^15~(2^15-1)

4

-2147483648~2147483647,即-2^31~(2^31-1)

Unsigned int(无符号整型)

2

0~65535,即0~(2^16-1)

4

0~4294967295,即0~(2^32-1)

Short(短整型)

2

-32768~32767,即-2^15~(2^15-1)

Unsigned short(无符号短整型)

2

0~65535,即0~(2^16-1)

Long(长整型)

4

-2147483648~2147483647,即-2^31~(2^31-1)

Unsigned long(无符号长整型)

4

0~4294967295,即0~(2^32-1)

Long long(双长型)

8

-9223372036854775808~9223372036854775807,即-2^63~(2^32-1)

Unsigned long long(无符号双长型)

8

0~18446744073709551615,即0~(2^64-1)

*sizeof是测量类型霍变量长度的运算符,例如

int c=sizeof(int);
printf("%d",c);
输出:4

在实际应用中,有的数据的范围常常只有正值,那么我们可以将这种变量定义为“无符号”类型,因此,4种整型数据(int、short、long、long long)其实可以扩展为8种,每种分别由signed和unsigned两种类型。

有符号整型数据存储单元中最高位代表符号(0为正,1为负);

无符号整型数据(指定为unsigned的)存储单元中全部二进位都用作存放数值本身,而没有符号。所以无符号型变量不能存放负数,相对的,能够存放的正数的范围比有符号数的正数范围大一倍。

表格 2 浮点型数据的有效数字

类型

字节数

有效数字

数值范围(绝对值)

Float(单精度)

4

6

0以及1.2e-38 ~ 3.4e38

Double(双精度)

8

15

0以及2.3e-308 ~ 1.7e308

long double(长双精度)

8

15

0以及2.3e-308 ~ 1.7e308

16

19

0以及3.4e-4932 ~ 1.1e4932


格式化规定符
—————————————————————————— 
%d 十进制有符号整数 
%u 十进制无符号整数 
%f 浮点数 
%s 字符串 
%c 单个字符 
%p 指针的值 
%e 指数形式的浮点数 
%x, %X 无符号以十六进制表示的整数 
%0 无符号以八进制表示的整数 
%g 自动选择合适的表示法 (系统自动选择f或e格式输出)
—————————————————————————— 

  • 域宽:即输出数据的所占列数,如用“%5d”指定输出数据占5列
  • 浮点型输出格式
    • 指定数据宽度和小数位数 %m.nf,输出的数据占m列,其中小数占n列
    • 输出数据向左对齐 %-m.nf

Reference:

c语言中基本数据类型printf()对应格式

C程序设计(第四版)——清华大学出版社

你可能感兴趣的:(C++)