C语言浮点型小数点后为多少位
我看资料说单精度只能提供七位有效数字,什么意思呢?举例说明一下,谢谢!!! 展开
单精度浮点型小数点后面有效数字为7位和双精度浮点型小数点后面有效数字为16位。
单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
例如,当表示美元和分时,单精度浮点型是有用的。在foxpro中,单精度浮点型是为了提供兼容性,浮点数据类型在功能上等价于数值型。
扩展资料:
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。补码系统的0就只有一个表示方式,这点和反码系统不同(在反码系统中,0有二种表示方式),因此在判断数字是否为0时,只要比较一次即可。
拓展资料:C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
实数3.14159在内存中的存放形式为+.3141591,+为数符,.314159为小数部分,1为指数10^1,所以单精度提供的是7位有效数字。
C语言是什么:
首先,人类发明了计算机,需要与计算机“交流”,即写入和读出,而且硬件需要与软件相配才能发挥作用,这样必须发明一中语言让人类与机器能够交流,就诞生了机器语言,也就是低级语言。同时因为机器硬件毕竟不如人聪明(耶~),而且二进制也是最贴近硬件的语言,所以发明的语言也是最简单的二进制,而普通人甚至是科学家也难懂,所以发明了一些高级语言,如同C语言,C++等等。
C语言中浮点型一般分为float单精度型、double双精度型、long double长精度型,单精度浮点型小数点后面有效数字为6~7位和双精度浮点型小数点后面有效数字为15~16位。
在C语言标准库头文件float.h定义了浮点数小数点后的有效位数 :
//float.h头文件的部分代码
#define DBL_DIG 15 //双精度小数点后15位
#define FLT_DIG 6 //单精度小数点后6位
#define LDBL_DIG 19 //长双精度小数点19
在C语言标准库头文件float.h定义了浮点数小数点后的有效位数 :
//float.h头文件的部分代码
#define DBL_DIG 15 //双精度小数点后15位
#define FLT_DIG 6 //单精度小数点后6位
#define LDBL_DIG 19 //长双精度小数点19