[无用] 攻击伤害数字失准的原因

楼主: dadadiiii (大D)   2014-11-01 21:34:56
前言...
因为一开始听说伤害破10亿时会出问题
所以才玩了一下艾得
结果发现显示出来的伤害少了一位 ( 请参阅 文章代码 #1KLAQVPy )
但是实际拿来计算时又觉得怪怪的
就一个数学背景出身的我 很不能接受这个奇怪的地方
所以才会追究这点
艾得的头上的数字是 725852736
http://imgur.com/6jbmvuF
打在光地精身上是 108877913
http://imgur.com/ZLuzUIX
让我们来计算一下 克属是1.5倍
725852736 * 1.5 = 1088779104
地精的防=14
1088779104 - 14 = 1088779090
就算最后一位没有显示 那也会是108877909
没道理变成108877913
后来在巴哈看到了这篇文章 http://ppt.cc/HZp8
数字分别是 991206464 148670976
一样来计算一下
991206464 * 1.5 = 1486809696
1486809696 - 100000 = 1486709696
很明显的又是后面几位出了问题
所以 可以知道MH在计算伤害时
用是一般的浮点数(float)在计算 所以才会出现这个误差
如果改成倍精度浮点数(double float) 可能会拖到程式的一些效率
SORRY 不懂的话可以去翻一下计概的书就知道了(咦
因为奥丁的倍率没有一个精确的公式
所以有兴趣研究的朋友 可以改用其他2倍攻的卡 ( 或者等我有空时再来测一下 )
只要伤害达8位数时 应该就会出现误差了
作者: slent67 (史兰特67)   2014-11-01 21:35:00
我竟然看的懂XDD
作者: shamus0309 (团团-LoveKotori)   2014-11-01 21:36:00
这扯到了资讯科技的范围XDD
作者: Kare112233 (天下皆有钢笔)   2014-11-01 21:36:00
我建议你删文 然后用回文的方式 不然有些人会不懂
作者: ATTwo (咖哩给Gay)   2014-11-01 21:36:00
数学给推
作者: blueocean292 (蓝海)   2014-11-01 21:37:00
完全看不懂.....
作者: KiSeigi (Kuroda.K.Masamura)   2014-11-01 21:37:00
推玩神魔学数学
作者: longmok2500 (Yu)   2014-11-01 21:37:00
float...最近常常看到
作者: evilraistlin (神蝶)   2014-11-01 21:37:00
不明觉厉...
作者: creamdancer (奏鸣曲)   2014-11-01 21:38:00
浮点运算规则比较不是常人会接触的东西XDDD
作者: Woyun99 (川川)   2014-11-01 21:40:00
数学之塔无误~
作者: zinstar   2014-11-01 21:41:00
长知识了!
作者: pipiann (成立油改會~~監督中油)   2014-11-01 21:41:00
玩TOS长智慧
作者: qwe20 (晴晴我爱你)   2014-11-01 21:43:00
果然是C语言达人大滴勾
作者: jefftie2000 (Y.Y)   2014-11-01 21:45:00
完全看不懂XD
作者: bertrend (凡事反求诸己)   2014-11-01 21:45:00
之前也有人说自己是数学背景的 请问是数博吗 还是数硕?
作者: zzxcasd (吓吓有名)   2014-11-01 21:46:00
跟数学什么关系 明明就是计概 乡民就是逼哀
作者: po5980 (風鳴)   2014-11-01 21:47:00
这跟数学没关系阿= =
作者: allen65535 (剧情急转直下)   2014-11-01 21:50:00
计概中的数学就不是数学吗
作者: fishg1216 (叶绿体)   2014-11-01 21:50:00
快推文要不然人家会以为我看不懂
作者: CenaSucks (我不怕J条蛇)   2014-11-01 21:51:00
不好意思我太嫩,伤害到7位数就上不去了
作者: st940116 (lalalala)   2014-11-01 21:54:00
楼楼上也太好笑了~~~~~我是真的看不懂xDDDDDDDD
作者: oToToT (屁孩)   2014-11-01 21:57:00
Java双精度浮点数范围这么小!?不喜欢java不知道
作者: dd830611 (欧拉欧拉)   2014-11-01 21:59:00
可恶我明明学过 只好推文装懂惹
作者: evanade (二萌)   2014-11-01 21:59:00
oT你都没看文喔,他说因为不是用双精度所以才不准 = =
作者: yzkeroro (小製)(′˙ω˙‵)   2014-11-01 22:02:00
CS之塔
作者: TheOneisNEO (Thomas Anderson)   2014-11-01 22:04:00
有稍微认真念的话 数学系毕业应该就可以算数学背景了但我觉得这部分讲的应该比较算CS 跟MATH关联小
作者: spellcaster (Reveries)   2014-11-01 22:06:00
没注意过数字有错欸 还好看得懂
作者: TheOneisNEO (Thomas Anderson)   2014-11-01 22:07:00
有板友不懂的话这边简单解释一下 就是储存这些数值的变量储存空间不够(数值位数太多)导致运算时产生差异
作者: romron (变色龙)   2014-11-01 22:09:00
手机游戏应该是用java写的~ 不过概念一样
作者: p85173 (小马)   2014-11-01 22:10:00
推~~不过印象中直接(long)double好像就可以了?
作者: lapras (drazy crunk BlueDragonL)   2014-11-01 22:12:00
只是算几个double不至于拖到效率吧....除非同时算几千个
楼主: dadadiiii (大D)   2014-11-01 22:13:00
快叫MH改一下程式
作者: Kare112233 (天下皆有钢笔)   2014-11-01 22:16:00
说实话 10亿 跟 1亿 的用意在哪XDDD
作者: oToToT (屁孩)   2014-11-01 22:19:00
没仔细看文sorry,看到double float就想应该是写MH有用
作者: tease0623 (牛)   2014-11-01 22:19:00
看得懂给推XD
作者: youngmoa (小莫)   2014-11-01 22:20:00
不是数学阿 数值分析也会提到 就是一种算法
作者: harry901 (harry901)   2014-11-01 22:23:00
太神了 不推不行
作者: x7791175 (漂泊浮云)   2014-11-01 22:23:00
YA 我看得懂耶
作者: moho831 (飞雪)   2014-11-01 22:25:00
封神的生化犬是否直接破防
作者: zzxcasd (吓吓有名)   2014-11-01 22:26:00
对某人来说 他硬盘的A片也是数学
作者: talrasha (拉拉)   2014-11-01 22:27:00
算法很重要 D3>POE 游戏流畅度有差
作者: harry901 (harry901)   2014-11-01 22:33:00
连这也可以酸 果然只会出一张嘴
作者: rubyli5050   2014-11-01 22:37:00
printf("推推\n");
作者: oToToT (屁孩)   2014-11-01 22:41:00
print "推推\n"
作者: xiaolu5566 (小鲁五六)   2014-11-01 22:45:00
System.out.println("快推,免得被酸");
楼主: dadadiiii (大D)   2014-11-01 22:49:00
其实上一篇也是程式没写好 只印了9位数字出来
作者: lover790222 (fighter)   2014-11-01 22:56:00
当然换成双精确会影响阿~内存空间需要再多
作者: steam   2014-11-01 23:01:00
cout << "可以帮我解TLE吗,刚写的程式效率太差"
作者: oToToT (屁孩)   2014-11-01 23:04:00
raw_input("伊登臭臭(Y/N) : ")
作者: channing3107 (??)   2014-11-01 23:04:00
NSLog(@"推推");
作者: lapras (drazy crunk BlueDragonL)   2014-11-01 23:08:00
float 4 byte,double 8 byte,除非你是要海量的double
作者: louisalflame (louisalflame)   2014-11-01 23:12:00
printf("推推\n");
作者: markk90355 (马可久凌杉)   2014-11-01 23:22:00
同为资工人看得懂给推
作者: ht6401 (小二)   2014-11-01 23:22:00
我看得懂这篇文章...真的病了
作者: phpMyAdmin (phpMyAdmin)   2014-11-01 23:26:00
alert("推推");
作者: Kare112233 (天下皆有钢笔)   2014-11-01 23:26:00
此篇将收录喔01/11/2014 11:27 收录于"游戏技巧/系统"
作者: y35246357468 (小銀)   2014-11-01 23:46:00
原来打低是数学系的(笔记
作者: uhawae ( 好 屌 )   2014-11-01 23:57:00
还 蛮 屌 的 屌 爆 了
作者: totocc (Jimmy)   2014-11-02 00:03:00
哼哼 看来我微算机不是混过的
作者: zzxcasd (吓吓有名)   2014-11-02 00:17:00
看来你微算机真的是
作者: LinTom (Lin Tom)   2014-11-02 00:17:00
不懂啦QQ
作者: WinRARdotrar (WinRAR.rar)   2014-11-02 00:27:00
我觉得计概的数学大概只要高中程度就够了...
作者: PIN0602 (批唉恩)   2014-11-02 00:32:00
玩神魔 学C语言
作者: skillLv9 (技九)   2014-11-02 00:33:00
printf("喔喔~就是小时候常常玩的那个单精度嘛~"\n)
作者: jknm0510a (Kang)   2014-11-02 00:45:00
cout << "原来是float阿,我还以为是long呢"
作者: andylin8707 (新垣是我的)   2014-11-02 01:11:00
看的懂给推
作者: arcslam (雷札特)   2014-11-02 01:14:00
cout << "推推\n"
作者: jujustine83 (很绅士的钱)   2014-11-02 01:39:00
快推不然别人以为我看不懂
作者: skeric (寶寶剛)   2014-11-02 01:47:00
看不懂给嘘
作者: ericwu790419   2014-11-02 02:06:00
可见现在的攻击倍率已经失控超出MH开始的预期
作者: joe820730 (Let it go)   2014-11-02 02:26:00
看得懂+1
作者: yap5678 (yap5678)   2014-11-02 03:13:00
知识藏在生活中!给推
作者: cccman (云月)   2014-11-02 06:24:00
打滴哥太神啦
作者: herman1110 (饼饼XD)   2014-11-02 08:23:00
浮点是程式的范畴非数学吧XD 有懂给推
作者: Mars0704 (我是勇迷我骄傲)   2014-11-02 08:30:00
<a>我懂</a>
作者: beforelin (旋转冰淇淋)   2014-11-02 08:43:00
原来如此啊 哩勒功三小…
作者: WindowsXP (:★↗煞气a作业系统↙☆:)   2014-11-02 10:43:00
英雄所见略同! 啥洨啊
作者: andypan898 (铁甲暴龙先生)   2014-11-02 11:10:00
化工觉得被霸凌
作者: LongK (K佬)   2014-11-02 11:17:00
虽然唸资电 但是从来不会去算他......
作者: handsomegg39 (小小东PO)PO)PO))   2014-11-02 11:22:00
刚学到==
作者: kevinch123   2014-11-02 12:00:00
真的是完全看不懂啊…
作者: Dowsabow (沙包君)   2014-11-02 13:09:00
社会组情何以堪
作者: trylovetom (闲闲的猛男)   2014-11-02 14:36:00
没记错的话,神魔是用Unity去开发的,脚本语言是用JavaScript或C#
作者: isacheng (方吉外拍摄影师)   2014-11-02 14:40:00
外语系给推
作者: yap5678 (yap5678)   2014-11-02 20:24:00
这也太专业XD
作者: eggrocker   2014-11-03 08:40:00
外语系表示全版问号珠
作者: PolinHuang (380)   2014-11-04 18:53:00
来神魔版还要被数学霸凌XDDD

Links booklink

Contact Us: admin [ a t ] ucptt.com