数的类型

来源:互联网 发布:编程的本质 pdf 网盘 编辑:程序博客网 时间:2024/05/21 12:41

整数

通常整数在计算机中用一个机器字长来存储,不同的实现使用不同的存储方式,C语言最常见的一些方式是使用以下方式

short通常为16位,int类型通常是16位或者32位,long类型通常占用32位,long long通常占用64位,这些整数的表示方式通常根据不同的计算机的机器字长有关系,在不同机器上实现可能不同,现在编译器一般都会自行判断使用何种整数类型,这些类型通常默认是有符号类型。%d输入输出。

当然这些类型也可以声明成unsigned类型。



浮点数

带小数点的数都是浮点数,浮点数的表示方法有科学计数法和E的表示方法,例如3.16×10³=3.16e3等等,在计算机中通常使用32位来表示一个浮点数,一部分用来表示阶码,一部分用来表示数的部分。

IEEE754标准

32位浮点表示左边第一位是(31)浮点数的符号位;后面8位(30-23)是指数(以2为底),在原来的真值的基础上加上7FH保证一定是正数;最后23位(22-0)是尾数,使用规格化原码表示,保证最高位总是1,最高位的1一般都隐藏,总共32位。通常最大为3.4E38,最小为-3.4E38.

64位浮点数表示左边第一位(63)是浮点数的符号位;后面11位(62-52)是指数(以2为底),在原来真值的基础上加上3FFH保证一定是正数;最后52位(51-0)是尾数,使用规格化表示,最高位是1,通常隐藏掉最高位的1,总共64位。

通常来说计算机里面真正的存储读取与存放方法有关,常用的是小端存储,即低位字节在左,高位字节在右。

C语言的浮点数float、double和long double三种类型。float通常占32位有效位的位数6位以上(%f),double(%lf)通常占64位有效位数10位以上。凡是带小数点的数都是浮点。通常在一个数的后面加上f可以指定为float类型。

浮点数的上溢(超出指数的最大数),现在编译器会给其赋一个固定的无穷大的数,下溢(小于最小的指数值)则尾数全置0。

另外printf函数的输出,如果使用不一样的输出符,则不会发生类型的强制转换,会发生输出错误。

0 0
原创粉丝点击