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
广告