数据分类分级(数据分为哪两种类型)

浮点数据用于表示带小数点的实数。为什么实数在C语言中被称为浮点数?在C语言中,实数以指数形式存储在存储单元中。实数可以用多种形式表示为索引。比如3.14159可以表示为:3.14159 10e0、0.314159 10e1、0.0314159 10e2、31.4159 10e-1、314.15910e-2等。它们代表相同的价值。可以看到小数点的位置可以在314159的数字之间以及之前或之后(加0)浮动。只要在小数点位置浮动的同时改变索引的值,就可以保证其值不会改变。因为小数点位置可以浮动,所以实数的指数形式称为浮点数。

在指数形式的各种表示中,小数点前的数字为0,小数点后的第一位数字不为0的表示称为标准化指数形式,例如0.31415910e1就是3.14159的标准化指数形式。实数只有一种归一化指数形式。当一个程序以指数形式输出实数时,它必须以归一化指数形式输出,如0.314159e001。

浮点类型包括浮点(单精度浮点)、双精度(双精度浮点)和长双精度(长双精度浮点)。

(1)浮点型(单精度浮点型)。编译系统为每个浮点变量分配4个字节,数值以归一化二进制数指数的形式放入存储单元。存储时,系统将实际数据分为小数部分和指数部分,分别存储。小数部分小数点前的数字是0。例如,内存中3.14159的存储形式如图1所示。

图1存储器中小数的存储

图1用十进制数表示。实际上,在计算机中,十进制部分用二进制数表示,指数部分用2的幂表示。在4字节(32位)中,C标准中没有具体规定用多少位表示小数部分,用多少位表示指数部分,这是由每个C语言编译系统决定的。一些C语言编译系统使用24位表示小数部分(包括符号),8位表示指数部分(包括指数的符号)。由于实数以二进制形式表示,存储单元的长度有限,不可能得到完全准确的值,只能存储有限的精度。小数部分占用的位数越多,数字的有效位数越多,精度越高。指数所占的位数越大,它所能代表的数值范围就越大。浮点型数据可以得到六个有效数字,范围为-3.410-38~3.410e38。

(2)双精度类型(双精度浮点类型)。为了扩大可以表示的数值范围,用8个字节存储一个双数据,可以得到15个有效数字,数值范围为-1.710e-308~1.710e308。用C语言对浮点数进行算术运算时,浮点数据自动转换为双数据,然后进行运算。

(3)长长类型(长双精度),不同的编译系统对长双类型的处理方式不同,Turbo C为长双类型分配16个字节。另一方面,Visual C 6.0同样对待长双类型和双类型,分配8个字节。

关于真实数据的信息

搜索微信公众号【balayihuier】或扫描下方二维码关注微信公众号,资深软件工程师带你手把手撸代码,从此走上人生巅峰,迎娶白富美!

微信官方账号《吧啦一会儿》,我会手把手给你看代码。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注