short.MinValue:-32768 16位
int.MinValue:-2147483648 32位
long.MinValue:-9223372036854775808 64位
float.MaxValue:3.402823E+38 32位
float.MinValue:-3.402823E+38 32位
float.NaN:非数字 32位
float.NegativeInfinity:负无穷大 32位
float.PositiveInfinity:正无穷大 32位
double.MaxValue:1.79769313486232E+308 64位
double.MinValue:-1.79769313486232E+308 64位
double.NaN:非数字 64位
double.NegativeInfinity:负无穷大 64位
double.PositiveInfinity:正无穷大 64位
bool.TrueString:True
char.MinValue:''
byte.MinValue:0
ushort.MinValue:0
uint.MinValue:0
ulong.MinValue:0 64位
C定义了5种整型数据类型。
整型数据类型表
序号 | 类型名称 | 说明 | 字节数 | 取值范围 |
1 | signed char | 有符号的单字节整数类型 | 1 | -128~+127 |
2 | short int | 短整型 | 2 | -32768~+32767 |
3 | int | 整型 | 4 | -2147438648~+2147438647 |
4 | long int | 长整型 | 4 | -2147438648~+2147438647 |
5 | long long int | 长长整型 | 8 | -9223372036854775808~+-9223372036854775807 |
对应有符号类型,还有无符号整数类型。
无符号整数类型表
序号 | 类型名称 | 字节数 | 取值范围 |
1 | unsigned char | 1 | 0~255 |
2 | unsign short int | 2 | 0~65535 |
3 | unsigned int | 4 | 0~4294967295 |
4 | unsigned long int | 4 | 0~4294967295 |
5 | unsign long long int | 8 | 0~18446744073709551615 |
整型常量是指用以表示整型数值的常量,分为短整型(short int)、整型(int)、长整型(long int )和长长整型(long long int)四种。C默认整型(int)。 各种类型整型常量进制表示表(后缀不区分大小写)
序号 | 数据类型 | 八进制 | 十进制 | 十六进制 |
1 | 整型 | 0112 | 74 | 0x4a |
2 | 长整型(l) | 0112l | 74l | 0x4al |
3 | 长长整型(ll) | 0112ll | 74ll | 0x4all |
4 | 无符号整型(u) | 0112u | 74u | 0x4au |
5 | 无符号长整型(ul) | 0112ul | 74ul | 0x4aul |
6 | 无符号长长整型(ull) | 0112ull | 74ull | 0x4aull |
C语言中字符型数据只有一种,即char型数据。一般也把char直接称为字符型。字符型占用内存空间最少,一般占用一个字节,存储在char类型变量的整数可以表示为有符号或无符号的值,这取决于编译器。
字符变量是用于存储字符型数值的变量。字符型变量也分为两种:有符号和无符号型。
C语言定义了三种浮点数据类型:
•float,单精度
•double,双精度
•long double,长双精度
C标准中对不同类型的浮点数有不同的规定,编译器不同或硬件条件不同,字节长度也不相同。
序号 | 数据类型 | 字节长度 | 精度 | 数量级范围 | printf和scanf格式 |
1 | float(f) | 4 | 7 | -38~38 | %f |
2 | double | 8 | 约16 | -308~308 | %f |
3 | long double(1) | 12 | 约19 | -4932~4932 | %llf |
浮点型精度从低到高排列为float、double和long long double。
浮点型数值以科学计数法的表示形式存储在内存中。浮点型的内存形式包含三个部分:
1)符号位
符号位浮点型的符号位只有一位,为最高位。该位为1,表示负数,该位为0,为非负数。
2)指数位
浮点型的指数位以补码形式存储,是科学计数法的指数部分。
3)基数位
基数位是浮点型的最后一位,这个位决定数值的精度。
浮点型储存分段表
序号 | 数据类型 | 符号位 | 指数位 | 基数位 | 偏差值 |
1 | float | 1 | 8 | 23 | 127 |
2 | double | 1 | 11 | 52 | 1023 |
3 | long double | 1 | 15 | 64 | 16383 |
类型 | 类型名 | 位数 | 范围 |
字符型 | char | 8 | -128 ------ 127 |
整型 | int | 16 | -32768 ------ 32767 |
浮点型 | float | 32 | 3.4E-38 ------ 3.4E+38 |
双精度型 | double | 64 | 1.7E-308 ------ 1.7E+308 |
无值类型 | void | 0 | 0 |
类型 | 类型名 | 位数 | 范围 |
字符型 | char | 8 | -128 ------ 127 |
signed char | 8 | -128 ------ 127 | |
unsigned char | 8 | 0 ------ 255 | |
整型 | int | 16 | -32768 ------ 32767 |
signed int | 16 | -32768 ------ 32767 | |
unsigned int | 16 | 0 ------ 65535 | |
short int | 16 | -32768 ------ 32767 | |
signed short int | 16 | -32768 ------ 32767 | |
unsigned short int | 16 | 0 ------ 65535 | |
long int | 32 | -2,147,483,648 ---- 2,147,483,647 | |
signed long int | 32 | -2,147,483,648 ---- 2,147,483,647 | |
unsigned long int | 32 | 0 ----------------4,294,967,295 | |
浮点型 | float | 32 | 3.4E-38 ------ 3.4E+38 |
双精度型 | double | 64 | 1.7E-308 ------ 1.7E+308 |
long double | 80 | 3.4E-4932 ------ 1.1E+4932 |