一个关于多尺度处理中数学稳定性的问题

千树之影 2014-02-11 05:04:01
简单的说,一个等式:4-3=1.
现在每个数字都除以2,要求等式仍然成立。
如果是浮点计算,当然没有问题。
但如果是整数运算,就有问题了 4/2-3/2=1/2 -> 2-1=0,等式不再成立。
如果在除法时进行四舍五入, (4+1)/2-(3+1)/2=(1+1)/2 ->2-2=1,等式还是不成立。
问题:是否存在一个合理的除以2的整数除法运算 f(x)
要求对于所有 a-b=c的等式(a,b,c是非负整数),f(a)-f(b)=f(c)也成立
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
陆小路 2014-02-11
  • 打赏
  • 举报
回复
个人思路:换成f(b) + f(c) = f(a)后 定义两个全局变量,分别表示等式左右奇数个数,f()都操作该数,使每次左右增长次数都一样 遇奇数就+1. PS:该思路只保证等式会成立,不具可逆性。
赵4老师 2014-02-11
  • 打赏
  • 举报
回复
derekrose 2014-02-11
  • 打赏
  • 举报
回复
扩大数值不就行了 4变成8 3变成6 1变成2 这样就避免四舍五入的误差
YTerrenceLau 2014-02-11
  • 打赏
  • 举报
回复
1楼好man啊。
堂风 2014-02-11
  • 打赏
  • 举报
回复
引用 2 楼 tangfengray 的回复:
*10/5 soeasy
看错题目了
堂风 2014-02-11
  • 打赏
  • 举报
回复
*10/5 soeasy
rocktyt 2014-02-11
  • 打赏
  • 举报
回复
不存在 2-1=1 f(2)-f(1)=f(1) 于是 f(2)=2*f(1)(因为这里都是整数,并不是什么奇怪的数,所以可以两边加上f(1)) 如果等式成立,f(2)必然为偶数,这显然与一般意义上的除以2计算不同 除非lz自己定义一个除以2的行为,否则不存在这样的运算

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧