我需要从整数中提取“数千”(例如1345 - > 1; 24378 - > 24),因为我的应用程序要做很多事情,所以我需要有效地完成这项工作。
当然,除以1000总是一种选择,但是划分是一项昂贵的操作,所以我正在寻找更高效的东西。
目标平台是Android,据我所知,目前大多数Android平台都没有数学协处理器,所以最喜欢的方法是通过逐位操作来实现,尽管我无法弄清楚如何做到这一点,如果可能的话......
答案 0 :(得分:6)
数学协处理器对浮点运算有很大的帮助,但只需每个现代CPU就可以进行有效的整数除法。
说真的,只做分频操作,几乎肯定是最好的选择。虽然比特移位有利于除以2的幂(如1024),但它不是那么好。
答案 1 :(得分:2)
int总是采用非小数回答。所以使用
int i=24378/1000;
1000分之24378= 24.378 但是int将需要24