假如被"除数"10,除以"除数"3,采用进一法,等于 3.34 或者等于 3.334 。现在要让"商"( 3.34 或 3.334 )乘以"除数"3 的”积“等于”被除数“10,应该如何处理,是不是可以直接舍掉小数点后面的小数部分。对于文中的”10÷3=3.34 或 3.334“只是一个例子。我真正想问的是如何让”除不尽的数“被除后,使用”商“再乘以”除数“,使得结果”积“等于”这个除不尽的数“。
|
zxCoderSep 24, 2021
1
没听懂。。。。你是想解决这个“数学问题”?还是说是写代码怎么处理?那保存结果的分子分母?这样肯定是准确的
|
|
VintySep 24, 2021
2
用符号运算
|
|
deplivesbSep 24, 2021
3
你确定这个是数学问题么?
|
|
QingXuJiaZhiSep 24, 2021
4
根据具体目的灵活处理,会计专业肯定有处理
这些问题的约定俗成的方法。 |
|
QingXuJiaZhiSep 24, 2021
5
比如,要看你把这两部操作当作“总是前后发生的一个固定流程”,还是看成“两个独立事件,其中第二个事件可能发生,可能不发生,可能相隔久远才发生”。
如果看作两个独立事件,那么当第一步舍弃精度时,就已经决定了后续不可能完美还原。如果确实有必要,可以考虑使用分数,但这会导致系统很复杂。 |
|
GuuJiangSep 24, 2021 via iPhone
6
又见 XY 问题,请直接说出你的原始需求,盲猜需要的是个符号运算系统
|
|
zhuawadaoSep 24, 2021
7
如何得知( 3.34 或 3.334 )是商不是商
|
|
jifenggSep 24, 2021
8
数学问题:“等于 3.34”这里应该是“约等于 3.34”,丢失了精度了。用一个“约等于”的数,没法得到一个“等于”的数。你怎么知道 3.34 是由 3.335 还是 3.333 还是 3.332 约来的呢。
数学解法:10 除以 3 不表示为 3.34 ,表示为 3⅓ |
|
JoooooooooSep 24, 2021
9
Not a math problem.
|
|
pangchaoranSep 24, 2021
10
已知: C=A/B
C1=ceil(C1,1e-3) 求 f, 使得 A=f(C1,B) 以上是你的需求吧? 由于 abs(C1-C)<1e-3, 故 abs(C1*B-A)=abs(C1-C)*B<(1e-3)*B 再加上 C1>>1e-3 故 A=round(C1*B,(1e-3)*B) 如果 B 有上限, 可以用(1e-3)*上限 作为 round 的精度 以上, 不严格想法. 需要测试 |
|
bk201Sep 24, 2021
11
就是 1/3 怎么表示的问题
|
|
ipwxSep 24, 2021
12
1. 用符号、分数参与运算。
2. 浮点数最后做舍入。反正你本来系统里面任何小数都不精确,输出的时候也要舍入。 |
|
gooolSep 24, 2021
13
增加一个 “内部表示” 的概念,把所有需要参与运算的数都用 “有理数” 来表达。只在需要数值的时候,才把它计算出来,不能表示为整数的,按需要精确的位数与舍入规则来确定。
具体到你的问题: 将 10 的内部表示记作 (10, 1),类似地,3 的内部表示,就是 (3, 1) 10 除以 3,就是 (10, 1) / (3, 1),做有理数除法,得到 (10, 3) (10, 3) 乘以 3,就是 (10, 3) * ( 3, 1),做有理数乘法,得到 (10, 1) |
|
kop1989Sep 24, 2021
14
这个问题并不是数学问题,因为除并约等于之后,就丢失了信息。
此时 3.34 对应着不止一个被除数和除数的组合。 你怎么知道你最终想要的被除数是多少? |
|
stirlingxSep 24, 2021
15
这是一个 model 和 view 的问题,10/3 是 model,3.34 是 view,一个 model 可以有多个 view
|
|
VictorJing94Sep 24, 2021
16
再给留个余数后面+上?
|
|
grimpilSep 24, 2021
17
10÷3=3.34 这一步肯定错了,只能用约等号。
|
|
lixiang2017Sep 25, 2021 via Android
19
GCD
|
|
volvo007Sep 25, 2021
20
感觉严格操作的话, 不太可能还原回去, 进位的时候就已经损失信息了吧
感觉要不写个类, 一个属性放这个进一的结果, 另一个属性放符号计算结果 展示用前一个属性, 运算的时候用后一个属性? |