c++ float精度丢失
来源:互联网 发布:手机淘宝店怎样发货 编辑:程序博客网 时间:2024/05/22 04:42
代码
#include <iostream>int main(int argc, const char * argv[]) { using namespace std; float a = 2.34E+22f; float b = a + 1.0f; cout << "a = " << a << endl; cout << "b - a = " << b - a << endl; return 0;}
运行结果
a = 2.34e+22b - a = 0
分析
该程序将数字加1,然后减去原来的数字。结果应该为1。但运行结果为0,问题在于,2.34E+22是一个小数左边有23位的数字。加上1,就是在第23位加1。但float类型只能表示数字中的前6或前7位,因此修改第23位对这个值不会有任何影响。
1 0
- c++ float精度丢失
- float、double精度丢失
- float出现精度丢失
- float丢失精度的问题
- float,double等精度丢失问题
- 关于float,double的精度丢失(一)
- 关于double,float的精度丢失(二)
- 关于float,double的精度丢失
- 关于float,double的精度丢失
- 两个float相减时丢失精度的解决方法
- java float计算精度丢失问题剖析
- java float double为什么精度会丢失
- java中的float double精度丢失
- float,double等精度丢失问题
- float,double等精度丢失问题
- 160309float,double等精度丢失问题
- float,double等精度丢失问题
- float,double等精度丢失问题(详)
- Android ListView中嵌套EditText,随着软件盘的出现和消失,EditText焦点和内容混乱的问题
- ubuntu里安装VMTools的方法
- 深入理解ANGULAR中的$APPLY()以及$DIGEST()
- 孤儿进程与僵尸进程
- Linux基础指令(一)
- c++ float精度丢失
- UVa12118:Inspector's Dilemma
- 怎样设计一个运行日志服务
- 基于rails的schedule网站开发(4):git 存档记录
- HDU 1035 机器人行走步数 (模拟)
- Linux 的 时间
- android沉浸式标题栏
- Ant-wiki.com 关于我们
- 安卓通过意图使系统安装apk