当前位置: 首页 > news >正文

网站设计分析推广文案撰写

网站设计分析,推广文案撰写,wordpress设置首页title,企业邮箱有什么用计算机中的浮点数 计算机中以固定长度存储浮点数的方式&#xff0c;造成了浮点数运算过程容易产生上溢和下溢。以float32为例, 其标记位占1bit,指数位占8bit,小数部分占23bit 经典下溢场景 不满足精度导致截断误差 #include <iostream> #include <iomanip> usin…

计算机中的浮点数

  计算机中以固定长度存储浮点数的方式,造成了浮点数运算过程容易产生上溢和下溢。以float32为例, 其标记位占1bit,指数位占8bit,小数部分占23bit
在这里插入图片描述

经典下溢场景

  不满足精度导致截断误差

#include <iostream>
#include <iomanip>
using namespace std;
int main() {float a = 1.f;float eps = 1e-8f;float c = a + eps;cout << setprecision(16) << a << "+" << eps << "=" << c << endl;return 0;
}

微小的误差很容易被放大

  这里以二元一次方程的求根为例
  ax2+bx+c=0ax^{2}+bx+c=0ax2+bx+c=0
  根据基础数学知识,你会给出这样一个解决方案
  x1,2=−b±b2−4ac2ax_{1,2} = \frac{-b\pm \sqrt {b^2-4ac}}{2a}x1,2=2ab±b24ac
  由此设计程序

#include<iostream>
#include<cmath>
using namespace std;int main() {float a, b, c;float temp, root, r1, r2;cout << "该程序用于求一元二次方程ax^2+bx+c=0的解" << endl;cout << "请依次输入a b c的值(a不要为0)" << endl;cin >> a >> b >> c;temp = b * b - 4 * a * c;root = sqrt(temp);if (temp < 0) {cout << "改方程无解\n";return -1;}r1 = (-b + root) / 2.0 / a;r2 = (-b - root) / 2.0 / a;cout << "一元二次方程的解为:" << r1 << " , " << r2 << endl;return 0;
}

  使用这段程序输入 0.01,1000,10.01,1000,10.01,1000,1
  输出−0.00305176,−100000-0.00305176 , -1000000.00305176,100000
  而保留小数点后六位有效数字应该是−0.001000,−99999.990000-0.001000,-99999.9900000.001000,99999.990000
  此时,第一项的相对误差为百分之两百,而第二项的相对误差为千万分之一。
  显然,两个相近的数相减会使得运算后的有效位数变少,也就是在a,ca,ca,c的值很小时, $ -b + \sqrt {b^2-4ac}$ 这一操作过后,使得实际结果的有效位变低了(或者说引入了较大的误差),并且这个误差会在后续的运算中被放大。
  这时可以通过数学手段减少误差
  既然 x1,2=−b±b2−4ac2ax_{1,2} = \frac{-b\pm \sqrt {b^2-4ac}}{2a}x1,2=2ab±b24ac
  分子分母同时乘以 −b−b2−4ac,−b+b2−4ac-b - \sqrt {b^2-4ac},-b + \sqrt {b^2-4ac}bb24ac,b+b24ac 可得
  $x_{1} = \frac{2c}{-b - \sqrt {b^2-4ac}} , x_{2} =\frac{2c}{-b + \sqrt {b^2-4ac}} $
  根据b 的正负性,两个求根公式各取一半得到新的算法
  新算法的结果为−0.001,−10000-0.001 , -100000.001,10000

#include<iostream>
#include<cmath>
using namespace std;int main() {float a, b, c;float temp, root, r1, r2;cout << "该程序用于求一元二次方程ax^2+bx+c=0的解" << endl;cout << "请依次输入a b c的值(a不要为0)" << endl;cin >> a >> b >> c;temp = b * b - 4 * a * c;root = sqrt(temp);if (temp < 0) {cout << "改方程无解\n";return -1;}if (b > 0) {r1 = 2 * c / (-b - root);r2 = (-b - root) / 2 / a;}else if (b < 0) {r1 = (-b + root) / 2 / a;r2 = 2 * c / (-b + root);}else {temp = c / a;r1 = sqrt(-temp);r2 = -sqrt(-temp);}cout << "一元二次方程的解为:" << r1 << " , " << r2 << endl;return 0;
}
http://www.yayakq.cn/news/706322/

相关文章:

  • 问答类网站开发网站数据库设计模板
  • 泰安电脑网站建设电话preec网站
  • 有可以花钱让人做问券的网站吗网络建设工作总结
  • 招标网站建设上海做营销网站哪个公司好
  • ie兼容所有网站网站建设预付
  • 滁州项目建设公示在哪个网站城市建设理论研究官方网站
  • 哪里查网站备案信息网页编程html
  • 网站做戒酒通知书山东省住房和城乡建设厅副厅长
  • 西宁专业企业网站建设上饶做网站的公司
  • 竞价网站模板时尚字体设计网站
  • 做ssp用什么建网站安徽池州建设厅网站
  • 河南十大营销策划公司seo需要会什么
  • 网站的页面风格有哪些wordpress中国官网
  • 中国建设工程协会网站优惠券网站要怎么做
  • 网站内容建设机制成都公司注册代理
  • 安徽太和有没有做网站的wordpress里放代码
  • 网站后台欢迎界面自己做的网站网页打开速度慢
  • 国内空间站wap版网站 加app提示
  • 宁波网站建设流程图网页设计视频代码
  • 网站建设管理分工互联网营销师证书有用吗
  • 网站建设培训班多少钱企业管理咨询服务有限公司
  • 珠海市横琴建设局网站与有权重网站做友链
  • 那个网站百度收录快甘孜州建设局网站
  • 兰州网站制作培训班网站建设公司盈利模式
  • 教育手机网站开发计算机软件开发工资高吗
  • 姓名域名网站wordpress缩略图不清晰怎么办
  • 为什么python不适合开发网站小猪导航
  • 关键词排名优化网站wordpress汉化广告插件
  • 建设部证书查询网站北京室内设计公司前十名
  • 公司网站被黑有不良信息 做笔录wordpress前台打开慢