问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

xcode关于longlong的运算输出?

发布网友 发布时间:2022-08-17 06:30

我来回答

1个回答

热心网友 时间:2023-10-10 15:03

经测试,这个问题与xcode无关,因为用codeblocks测试,也会出现相同的现象。

因为没有查到相关理论,下面说一说推测:

(1)直接用sum += pow,累计了计算误差,使得最终计算结果溢出。因为sum最终值为2^64,这是unsigned long long能够表示的最大值,所以只要误差累积超过1,就会溢出,使得sum为0。

(2)添加tmp变量,通过tmp=pow(2,i)截断了pow函数的计算结果(因为pow函数返回值类型为double),这样就不会累积误差了,所以最后得到了sum=2^64的正确结果。

---

以下是对上述推测的测试分析:

图1

考虑到二进制数特征:sum = 2^0 + 2^1 + …… + 2^(n-1) = 2^n - 1

如上图1所示,采用sum += pow(2,i)计算,当i=54时,sum值与2^55值相等,这是错误的,实际上sum值应该为2^55 - 1。由此推断计算误差累积导致最终结果溢出。从此处开始,sum值便不正确了。

图2

如上图2,从i=54开始进行tmp=pow(2,i)计算。因为tmp=pow(2,i)在后续计算之前便做了截断,所以最终得到sum=2^64这个正确结果。这与一开始就用tmp=pow(2,i)计算的结果是一致的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
绩效工资从工资里扣合法吗 无人机电机轴的主要功能有哪些? 闽侯南通多久发展 南通哪个位置最有潜力 南通未来的机遇有哪些 江苏南通的发展前景怎么样 南通这座城市未来发展前景怎样 我女儿阳历08年01月08日出生,{农历07年腊月初一}请高人帮忙改个名字... 我女儿是2012年1月10日10:35分出生的五行缺什么,取什么名字好 这种图片效果怎么做出来的,不是纯白板,仔细看有一个个均匀分布的小圆点... C语言救急,这个代码怎么写啊? 我用了unsigned long long 还是不行 属于所有者权益类的所有账户,它们的用途和结构都是相同的。对吗? 为什么负债与所有者权益类账户的结构必须与资产类账户的结构相反 五菱之光6400C高速行驶有焦糊味怎么办 中南林业科技大学的新生专享手机通信卡必须要用吗? 4G手机用户专享什么意思? 买个手机钱一交说是4G+专享版,要改自己的电话卡套餐跟手机皮配,是什么意思 手机专享存储卡能否用于学习机 五菱之光6400c拉高速时坐驾有烧焦的味道 苹果的双摄里有一个摄像头没有作用的是不是真的呢? wifi专享的怎么连不上 国产手机都8g内存了三星s9为什么还是4g 请帮电脑大师们,我的笔记本电脑是神舟战神系列,三星牌的内存条4G,我想扩内存,再买个8G的内存条, 泰州离南京有多远,做火车或大巴要多少小时 江苏南京离江苏泰州有多远? 泰州港到南京港多少公里 C语言中。为什么16位机上long int存储以32位 容声冰箱不冰 SIEMENS雪柜上格不制冷(风扇不转)下格制冷经我维修发现线路板有一个BT137三极管和一只炸了4脚管(接下面 美菱冰箱BCD-210M3上面一格和下面一格不至冷是什么问题? 关于c语言溢出的问题,有代码 51单片机c语言计算两个unsigned int型数据的乘积结果髙两位溢出丢失(乘积的数据类型是unsigned long) unsigned char answer[98]={0};发现结果有溢出 怎么修改 定义unsigned long行吗 C语言中,无符号位长整型的溢出问题 在c语言中,利用数组求斐波那契数列的前60项为什么longlong型都存放不下,向各位求解? 64位平台32bit数字不加ULL之类就会报:integer constant is too large for "long" type,为什么呢? 红魔7pro18+512怎么没现货 char究竟是什么啊?还有int,long 苹果12pro长焦镜头有什么用 充电宝有个灯一直亮着,没有开关按键 充电宝上没有照明灯开关,灯自己亮了 为什么红魔3充电时会响来响去? 用怎样的开场白才不会被客户拒绝 红魔用久了会出问题吗?求真心话,攒钱不容易。 初次加好友开场白 借充电宝归还后最迟多久付款 红魔散热器用什么充电头 mpⅴ7座车销量排名? 《龙龙龙》好看吗? 外蒙古是如何被丢掉的?历史上究竟发生了什么?