欢迎光临散文网 会员登陆 & 注册

《如果我和我头像上的人被困在电梯里会发生什么》2-编程-浮点数

2021-05-01 23:48 作者:WMProject1217  | 我要投稿

第 2 章 编程-浮点数


警告:由于作者有精神问题所以文章部分内容可能不连贯或含有精神污染,如感到不适请立即退出页面并向医生咨询。此文章所有内容纯属虚构,均不在现实中存在。


终于放假了,我坐到电脑面前并打开Visual Studio 2019准备继续写代码。


之前的几个星期虽然也不顺利,但感觉挺顺利的。她也让我变了不少啊。


#include <iomanip>

#include <iostream>

int main() {

    using namespace std;

    double x;

    x = 0.2 + 0.4;

    cout<<setiosflags(ios::fixed)<<setprecision(24)<<x<<endl;

}


运行出来的结果始终是 0.600000000000000088817842,而不是设想中的 0.6。


我正疑惑着,洛秋潆在旁边幽幽的来了一句:"这就是浮点数的误差啊"。


由于并没有完整的学习编程知识,我只是在汇编语言里用过定点数,根本不知道什么是浮点数。


她打开浏览器,按下  F12,在控制台输入了 0.2+0.4 并回车。


控制台返回了 0.6000000000000001,而不是设想中的 0.6。


"0.1 到 0.9 的 9 个小数中,只有 0.5 可以用二进制精确的表示。"洛秋潆边写代码边和我道。"浮点数的精度丢失在每一个表达式,而不仅仅是表达式的求值结果。"


我不由得想到:"误差一定是不好的吗?"


"误差是重要的,而且是必要的。因为有误差,生物才能进化。因为有误差,宇宙才能运行。因为有误差。我才能和你遇见。"


"误差啊。"我不由得想到因为浮点数误差而导致限制游玩区域的Minceraft,在边境之墙外面,是永久的不能保存的地方。


我不顾洛秋潆的哭闹将她抱到旁边的床上,自己写着代码。


已经写了几百万行,工程很快就要完成了。


//6 个小时后


终于写完了,窗外天色已经非常黑了,系统时钟已经到第二天的4:31了。望了望窗外,已经没有几个亮着的灯了,看了看屋里,洛秋潆已经趴在床上睡着了,真是太可爱了,要不是相机记录不到她我真想拍照到储存耗尽。


我按下了生成按钮,然后趴到洛秋潆旁边也睡着了。


9:30,我醒来了,洛秋潆早就醒了,现在倒悬在天花板上盯着我,见到我醒了,就扑到我身上,喂!不要那么诱惑人啊。


来到电脑面前,发现编译成功了,我打开调试窗口,准备调试程序。


//评论区是文章不可分割的一部分

《如果我和我头像上的人被困在电梯里会发生什么》2-编程-浮点数的评论 (共 条)

分享到微博请遵守国家法律