signed和unsigned
signed:表示有符号整数,即可以signed和unsigned表示正数、负数和零。这是C语言中整数的默认类型,如果不指定类型修饰符,则默认为signed
。
unsigned:表示无符号整数,只能表示零和正整数。这种类型用于需要非负数值的场景。
float和double
变量类型:float属于单精度型浮点数据,而double属于双精度型浮点数据。
指数范围:float的指数范围为-127~128,而double的指数范围为-1023~1024。
表达式指数位:float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位),而double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)。
内存占用空间:float占4个字节(32位)内存空间,而double占8个字节(64位)内存空间。
有效数字位数:float只能提供7~8位有效数字,而double可以提供15~16位有效数字。