制御系なら俺に聞いてもいいぜ(9)
■ このスレッドは過去ログ倉庫に格納されています
010080
2006/11/12(日) 20:36:48まぁ、私が扱ってたのは2バイト整数とその派生の固定小数点数だから。
>>92
今更ソースはないし、説明も面倒なんでCで書いてみた。
int main(int argc, char ** argv)
{
int x = atoi(argv[1]);
int xn;
int r;
for (r = 1, xn = x; xn > 0; r += 2) {
xn -= r;
}
r >>= 1;
if (xn < 0) {// 切り上げなら不要
if (r * r - r >= x) --r;// 切り捨てなら不要
}
printf("%d:%d\n", x, r);
return 0;
}
四捨五入しなくていいなら掛け算も使わないのが味噌屋根。
■ このスレッドは過去ログ倉庫に格納されています