Redian新闻
>
怎样实现这个线性转换的算法
avatar
怎样实现这个线性转换的算法# EE - 电子工程
B*h
1
银行说他们不做passport公证
有谁知道应该怎么弄么?多谢!
avatar
z*i
2
1.免费的100刀 Chase SapphireSM Card 只需消费一笔
http://creditcardbonus.spaces.live.com/blog/
最近申请chase家的这个信用卡会弹出一个页面,写着Before you go…We hope you
will reconsider 难不成他们家最近被人拿太多这个100刀了! 不用对它客气,赶
紧点击Return&Apply, 拿到落袋为安。
http://creditcardbonus.spaces.live.com/blog/
2. 免费的250刀 Chase SapphireSM Preferred Card需要满足这个offer的条件 优先
考虑哈 里面有指导如何满足条件
http://creditcardbonus.spaces.live.com/blog/
3. Free $75 + Extra $60 Cashback Bonus from Discover More® Card 最适合
中美间使用的多彩卡片Discover信用卡
http://creditcardbonus.sp
avatar
a*i
3
http://www.sk1project.org/modules.php?name=Products&product=sk1
About sK1 vector graphics editor
sK1 is an open source vector graphics editor similar to CorelDRAW, Adobe
Illustrator, or Freehand. First of all sK1 is oriented for "prepress ready"
PostScript & PDF output.
The major sK1 features:
* CMYK colorspace support
* CMYK support in Postscript
* Cairo-based engine
* Color managment
* Universal CDR importer (7-X3 versions)
* Modern Ttk based (former Tile widgets) user
avatar
l*a
4
价格相差很多哦,我又没有工作,大家用的是哪一套的材料哪? 光用Final的够不够? 如
果加上Wiley test bank 哪? 很迷惑,希望考过的大师们告诉我?
avatar
a*l
5
算法的原理很简单,输入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位整数可表达的范围.
avatar
U*5
6
Any bank you have accounts can do it for free.

【在 B****h 的大作中提到】
: 银行说他们不做passport公证
: 有谁知道应该怎么弄么?多谢!

avatar
w*g
7
nice screenshots.
avatar
l*a
8
自己顶
avatar
w*d
9
y = x + x>>1 ?
avatar
B*h
10
google 了一下,好像应该是拿着复印的让他们做复印件的公证对吧?
我昨天跟他们说要做passport公证,可能他们理解错了

【在 U*****5 的大作中提到】
: Any bank you have accounts can do it for free.
avatar
d*a
11
都是买前者,后者是考试前突击用吧,前者才是整套的复习资料,觉得final review没
必要
有人在淘宝买,不知道具体情况
avatar
p*n
12
别忘了运算顺序

【在 w*******d 的大作中提到】
: y = x + x>>1 ?
avatar
w*l
13
去local taxpayer assistance center
用原件,省了公证的麻烦

【在 B****h 的大作中提到】
: google 了一下,好像应该是拿着复印的让他们做复印件的公证对吧?
: 我昨天跟他们说要做passport公证,可能他们理解错了

avatar
l*a
14
谢谢!

【在 d******a 的大作中提到】
: 都是买前者,后者是考试前突击用吧,前者才是整套的复习资料,觉得final review没
: 必要
: 有人在淘宝买,不知道具体情况

avatar
p*e
15

将x线性的按比例关系转换成y,也就是y=1.5x,小数点后的舍入方法随便(就是说y=2.5的
话算2或者3都可以)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
要求是计算过程中不能用到32位的运算,就是说不能把x,y转换成32位算好再转换回来,
这该怎么计算?有谁知道这个怎么办吗?显然,查表的方法也是不允许的(内存的占用必须
是固定的,不能随范围变化而变化)
另外的一个要求是,y的范围是可以变的,所以不能用固定的乘1.5的算法,y应该可以是任
何一个16位整数可表达的范围.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What do you mean? Are those two statements each other in controversy?

【在 a****l 的大作中提到】
: 算法的原理很简单,输入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位整数可表达的范围.

avatar
l*x
16
问题看起来是用16位存储器实现Y=k*X,k是常数。
把k展开为最接近的二进制数列,然后用willywufd提供的移位累加方法,大数加小数,
如果结果出现msb 1->0,则溢出报错。
请拍砖

【在 a****l 的大作中提到】
: 算法的原理很简单,输入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位整数可表达的范围.

avatar
z*n
17
y = (x + x<<1)>>1;

【在 a****l 的大作中提到】
: 算法的原理很简单,输入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位整数可表达的范围.

avatar
p*f
18
如果我理解得不错的话,应该是:
y=(65535)/[max y- min y]*x.如果你的范围变化不是很频繁的话,查表是可以的,因为
表的大小取决于x的范围,而不是y的范围。
avatar
p*f
19
还有个办法是:用一个除法器,计算前面的那个系数(得到16位结果),然后用一个16
位乘16位的乘法器,只取结果的高16位。
avatar
u*u
20
很抱歉,你似乎没有理解原始问题的难点在于哪里.你说的根本就是最原始的做法,能用
这个方法就根本不用问这个问题了.

16

【在 p*f 的大作中提到】
: 还有个办法是:用一个除法器,计算前面的那个系数(得到16位结果),然后用一个16
: 位乘16位的乘法器,只取结果的高16位。

avatar
z*n
21
前面不是有人给出了solution吗?
y = x + (x>>1); 或者 y=(x+x<<1)>>1;
就可以解决问题啊。
我写了个程序输入了10个数验证了下:
32 48
51 76
51 76
92 138
54 81
90 135
13 19
69 103
20 30
6 9

【在 u****u 的大作中提到】
: 很抱歉,你似乎没有理解原始问题的难点在于哪里.你说的根本就是最原始的做法,能用
: 这个方法就根本不用问这个问题了.
:
: 16

avatar
p*f
22

你们注意到这句话没有:
另外的一个要求是,y的范围是可以变的,所以不能用固定的乘1.5的算法,
你们所用得solution都是固定乘1.5。

【在 z*****n 的大作中提到】
: 前面不是有人给出了solution吗?
: y = x + (x>>1); 或者 y=(x+x<<1)>>1;
: 就可以解决问题啊。
: 我写了个程序输入了10个数验证了下:
: 32 48
: 51 76
: 51 76
: 92 138
: 54 81
: 90 135

avatar
z*n
23
啥叫y的范围是可变的?楼主说了x的范围是在1500以内,
y的范围也在一个integer的最大值以内。

【在 p*f 的大作中提到】
:
: 你们注意到这句话没有:
: 另外的一个要求是,y的范围是可以变的,所以不能用固定的乘1.5的算法,
: 你们所用得solution都是固定乘1.5。

avatar
a*l
24
y的范围可变的意思就是说y可能是(0-1500)或者说(0-2512)或者说(0-3507),反正都是
在16位的范围内的数.所以不是固定的乘1.5的算法.不过这个问题已经解决了,就是把1.
5的算法扩展一下用两步就算出来的.计算的速度是原始算法的4倍.

【在 z*****n 的大作中提到】
: 啥叫y的范围是可变的?楼主说了x的范围是在1500以内,
: y的范围也在一个integer的最大值以内。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。