计算机的数据存储及VC&GCC的数值范围

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精度与有效数字位数:32 位浮点数的存储格式一般是 S+E+M,其中 S 为符号位,占一 位,E 是阶码,占 8 位,M 为尾数,占 23 位。阶码表示指数,阶码通过移码来表示正 负,公式为指数 e=阶码 E-127。当 E 为全 0 时且尾数 M 为全 0 时,结合符号位 S,分别 代表正零和负零;当 E 为全 1 时且尾数 M 为全 0 时,结合符号位 S,分别代表正负无 穷大。除去全 0 和全 1 的情况,E 的范围在 0000,0001 到 1111,1110 之间,即 1~254,故
32 位操作系统 Visual C++数值类型的字节数和取值范围 类型 整型 无符号整型 短整型 无符号短整型 长整型 无符号长整型 字符型 无符号字符型 单精度型 双精度型 长双精度型 标识符 int unsigned int short int unsigned short int long [int] unsigned long [int] char unsigned char float double long double 字节 4 4 2 2 4 4 1 1 4 8 8 数值范围 - 231 ~ 231 -1 0 ~ 232 - 215 ~ 215 -1 0 ~ 216
同 int 同 unsigned int
-127 ~ +128 0 ~ 255 3.4 1038 精确到小数点后 6 位 1.7 10308 1.7 10308
注: 231 =2147483648(2.1 109 ,21 亿) , 215 =32768(3.2 104 ,3 万)
第 1 页(共 2 页)
指数 e 的范围为-126~+127。x 的真值=(1)S (1.M)2 2E 127 ,其精度由 M 决定,M 的 最大值为全 1,故其表示的最大值为(1.111…111 )2 2127 =( 224 -1) 2104 2128 =3.4E+38 最小值类似求得-3.4E+38,精度为 223 0.000000119209 1.2 107 ,那么比这个还小的 数,比如 0.000000118 就无法表示(将得到 0,精度丢失) ,在 0~0.00000012 范围内应该 是可以表示的,但是仍然有误差,误差等于 223 2e 1.2 107 2e 。假如求得的结果是 23.1234567, 因为 23=10111, 故二进制中(形式为 1.0111……)小数点最多只有 23-4=19 个,最多精确到 0.0000019(5 个零) ,所以 23.1234567 中,小数点后 6 是不准确的(可 能是 5 或者 7,即可能有 1(<1.9)的误差) ,小数点前 5 位以及 23 是有效数字,有效 数字共 7 位。又比如 9.12345678,因为 9=1001,最多精确到 220 (0.00000095) ,所以小 数点后的 67 是不精确数字(有可能是 58 或者 76,即 67 可能有 9(<9.5)的误差) ,那 么共有 6 位有效数字。 总结:单精度(float 型)有效数字至少为 6 个,当首位有效数字的数值小于 8 时,有效 数字的位数可达到 8 位。同理,双精度(double 型)有效数字至少为 15 个,部分情况 下 (比如当首位有效数字的数值小于 4 时) , 有效数字的位数可达到 16 位。 而 long double 理论上有效数字至少 19 个(但是 C 语言中没有实现,实际提供的和 double 差不多) 。
Байду номын сангаас
熟悉以上理论后,可知,我们提供给计算机的浮点数,单精度的最好有 8 位有效数字, 双精度的最好有 17 位有效数字,经过计算机简单运算后,能保证有 6 位、15 位的精度 (复杂运算不包括在内,因为复杂运算本来就可能导致误差成倍增加) 。提供更高的有 效位数都是浪费,没有作用的,存储时就会丢失精度。
整数与浮点数在计算机中的表示方法不同,浮点数分为:单精度(float),双精度(double) 和长双精度(long double),实际上 Visual C++中 long double 没用。在 GCC 中 long double 是 12 个字节。另外,在某些系统中(如 Linux 32) ,还有 long long 类型(占 8 字节) , 还有 complex long double(占 24 字节) 。
第 2 页(共 2 页)
相关文档
最新文档