【发布时间】:2014-06-11 01:13:29
【问题描述】:
如何通过计算和动态方式推导出整数的“第”位等价物?例如:
- 187 为 0.187
- 16 为 0.16
- 900041 为 0.900041
我知道需要计算确切的位置。我知道一个技巧是将整数转换为字符串,计算有多少个位置(通过有多少个单独的字符),然后创建我们的未来值以乘以得出的十分之一的值 - 就像我们在笔上的方式和纸——如:
char integerStr[7] = "186907";
int strLength = strlen(integerStr);
double thsPlace = 0.0F;
for (int counter = 0; counter < strLength; ++counter) {
thsPlace = 0.1F * thsPlace;
}
但是解决这个问题的非字符串算术方法是什么?
【问题讨论】:
标签: math floating-point integer floating-point-conversion integer-arithmetic