由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 怎样实现这个线性转换的算法
相关主题
C++的大数运算问题为什么多个线程生成的随机数是一样的?
谁有什么solution吗?How to define a data type of 1 bit size?
如何在Word 2007将简体汉字转换成繁体字着急请教把voice ppt转换成小size的文件的软件
算法问题,找出现频率最高的元素问一个简单的C的问题
问一个算法问题探讨一个问题,关于embedded and windows programming
怎么说“无符号数”?DW/BI developer位置的在线面试最可能考什么语言?谢谢!
CS Algorithm question怎么把3维pixel数据转换成3维图像?
c 程序超过32位怎么办?把同一个目录夹的PDF文件转换成txt文件
相关话题的讨论汇总
话题: 整数话题: 范围话题: 算法话题: 线性话题: 转换
进入CS版参与讨论
1 (共1页)
a****l
发帖数: 8211
1
算法的原理很简单,输入x,输出y.x的范围(0-1000)的整数,y的范围是(0-1500)的整数,
将x线性的按比例关系转换成y,也就是y=1.5x,小数点后的舍入方法随便(就是说y=2.5的
话算2或者3都可以)
现在的关键是,x是一个16位的整数(unsigned int, 16bits),y也是一个16位的整数,要
求是计算过程中不能用到32位的运算,就是说不能把x,y转换成32位算好再转换回来,这
该怎么计算?有谁知道这个怎么办吗?显然,查表的方法也是不允许的(内存的占用必须是
固定的,不能随范围变化而变化)
另外的一个要求是,y的范围是可以变的,所以不能用固定的乘1.5的算法,y应该可以是任
何一个16位整数可表达的范围.
B***i
发帖数: 724
2
y = x + x >> 1 ?
z*****n
发帖数: 7639
3
this is a good solution.

【在 B***i 的大作中提到】
: y = x + x >> 1 ?
1 (共1页)
进入CS版参与讨论
相关主题
把同一个目录夹的PDF文件转换成txt文件问一个算法问题
windows 8 的开机界面怎么转换成传统的和WIN 7一样的开机界面 (转载)怎么说“无符号数”?
[转载] 一个类似coupon collector的概率问题CS Algorithm question
有谁用过matlab的并行运算功能?c 程序超过32位怎么办?
C++的大数运算问题为什么多个线程生成的随机数是一样的?
谁有什么solution吗?How to define a data type of 1 bit size?
如何在Word 2007将简体汉字转换成繁体字着急请教把voice ppt转换成小size的文件的软件
算法问题,找出现频率最高的元素问一个简单的C的问题
相关话题的讨论汇总
话题: 整数话题: 范围话题: 算法话题: 线性话题: 转换