C 编译器如何存储浮点数?


在 C 编程语言中,float 是浮点数的简称。

  • 浮点数通常以电气和电子工程师协会 (IEEE) 格式表示。

  • IEEE 格式使用符号位、尾数和指数来表示 2 的幂。

  • 符号位表示数字的符号:0 表示正值,1 表示负值。

  • 尾数以二进制形式表示,在转换为规范化形式后。规范化后,尾数的最高有效位始终为 1。

  • 指数是一个以无符号二进制格式存储的整数,在添加一个正整数偏差后。

  • 这确保存储的指数始终为正。

  • 对于 float,偏差为 127,对于 double,偏差为 1023。

示例

以下是 C 语言程序,用于将浮点数舍入到小数点后四位:

 在线演示

#include <stdio.h>
int main(){
   float var = 37.66666;
   printf("%.4f", var);// rounding to four decimal points
   return 0;
}

输出

执行上述程序时,将产生以下结果:

37.6667

以下是 C 语言程序,用于将浮点数舍入到小数点后八位:

程序

 在线演示

#include <stdio.h>
int main(){
   float var = 78.67;
   printf("%.8f", var);
   return 0;
}

输出

执行上述程序时,将产生以下结果:

78.66999817

更新于:2021年3月13日

725 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告