7_18|C语言|判断浮点数等于0|浮点数的保存形式

来源:互联网 发布:如何在七天网络查分 编辑:程序博客网 时间:2024/05/21 19:44

定义一个指针,系统默认给其赋随机值而不是地址;

以下代码在不同编译器运行结果不同

int main(void){double i =20.0;double j =i/7;if(j*7.0 == i)printf("Equal\n");elseprintf("Not equal\n");return 0;}
VS:相等;GCC:不相等;因此要考虑精度;

判断一个浮点数是否等于0:

#define EXP 0.00001 //设置精度int main(void){double i = 0.1;if((d>-EXP)&&(d<EXP))printf("equal 0;\n");elseprintf(" Not equal 0;\n");return 0;}

小数在内存中的保存形式[floatt/double都不能精确表、表示]
(1+1*2^-m+...1*2^-n)*2^k
5.5//十进制
101.1//二进制
1.011*2^2//科学计数法
符号 阶级K 有效数字
(32位)float [1] [8] [23]
符号 阶级K 小数点后有效位
(64位)double [1] [11] [52]
switch(必须为整形表达式),case后是常量表达式;
goto语句的标签不能跨函数跳转/跨函数跳转参考《C专家编程》//我没找到;
EOF:end of file 文件结束标志;
#define EOF -1 //在命令输入框中 按ctrl+z linux下按ctrl+d;
0:stdin:标准输入流;
1:stdout:标准输出流;
2:stderr:标准错误输出流;
睡眠函数

#include <windows.h>int main(void){Sleep(1000);//单位是毫秒,linux下单位是秒system("pause");return 0;}