首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

(i * 52429) >> 19 = i / 十

2012-11-01 
(i * 52429) 19 i / 10原理:52429 / 2 ^19 0.10000038146972656所以(i * 52429) 19 i * 0.1注

(i * 52429) >> 19 = i / 10
原理:

52429 / 2 ^19 = 0.10000038146972656

所以(i * 52429) >> 19 = i * 0.1

注意:
2^10=1024, 103/1024=0.1005859375
2^11=2048, 205/2048=0.10009765625
2^12=4096, 410/4096=0.10009765625
2^13=8192, 820/8192=0.10009765625
2^14=16384, 1639/16384=0.10003662109375
2^15=32768, 3277/32768=0.100006103515625
2^16=65536, 6554/65536=0.100006103515625
2^17=131072, 13108/131072=0.100006103515625
2^18=262144, 26215/262144=0.10000228881835938
2^19=524288, 52429/524288=0.10000038146972656

精度19最高,超过20 * i 就溢出了

然后: (i + (i << 2) + (i << 3) + (i << 6) + (i << 7) + (i << 10) + (i << 11) + (i<<14) + (i<<15)) >> 19 = i / 10

热点排行