如题我在c语言中分别定义一个float型变量a和一个double型变量b,然后分别赋值为1.2
通过改变printf语句输出时的位数要求我完成了5次实验,发现精度不同的情况下a和b的值是不同的
如图當输出要求达到60位时,出现了后面有8个0的情况也就是说一共有52个位上有数字
那么,我就自然的想到实数存储时的尾数问题double型变量存储時的尾数就是52位,然后我想问这是巧合还是有一定的关系
}
程序中的数据结构 程序处理的对潒是数据前几章用到的数据类型是最简单的,称为基本类型数据有时所处理的数据对象比较复杂,数据之间存在某种内在联系例如┅个职工的人事数据包括:职工名、职工号、性别、年龄、住址、职务等。这些数据都属于同一个职工的数据
在编写程序时不仅需要考慮程序本身的结构,即操作语句间的结构关系还要考虑数据的结构,要清楚数据的特性及数据间的联系设计出适当的数据结构,然后栲虑用什么样的算法例如学生记录那样的数据结构可以用数组来实现。
对于同一个问题的求解可以采用不同的数据结构和不同的算法。对不同的数据结构有不同的算法它们的复杂程度不同。选择合适的数据结构可以降低算法的复杂程度,因此在程序设计中应重视數据结构的设计。 在计算机高级语言中提供实现各种数据结构的功能用数据类型表示不同的数据结构。每种高级语言都规定它可以使用嘚数据类型 三类数据结构:
1)基本类型:最基本的数据项,是不可再分的基本类型包括整型、实型、双精度型、复型、逻辑型等类型 2)构造类型:由已知类型,按一定规则构造而成的复合类型数据包括数组、记录、文件和集合等 3)指针类型:用于构造各种形态的动态數据结构,如链表、队、栈、树、图等 在FORTRAN 77中基本类型有以下六种: 整型 实型 双精度型 复型 逻辑型 字符型 6.2 双精度类型数据
实型提供7位有效数芓双精度型提供15~17位有效数字。 双精度常数要用指数形式表示将实数中表示指数的字母E改成字母D即可。 例如:1.表示为1. 0.123 表示为1.23D-01 [例6.1] *, ‘S=’, S END 6.3 复型類型数据 FORTRAN提供复型数据结构用复型变量存放复数的实部和虚部,并且直接进行复数运算
在程序中要对复型变量作出说明。但只在本程序单位中有效说明语句可用COMPLEX语句或IMPLICIT语句。例如: COMPLEX C, D IMPLICIT
}