| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 69667 | 何子文 | 十进制小数转二进制 | C++ | Wrong Answer | 1 MS | 280 KB | 660 | 2024-04-06 11:50:09 |
#include <bits/stdc++.h> using namespace std; int main() { double a = 0, x = 0, s = 0, cnt = 0, sum = 0, l = 0; int g = 0; int z = 0; int w[1001]; int d[1001]; int c = 0; cin >> a; if (a == 0) { cout << a; return 0; } z = a; x = a - z; for (int i = 0; z != 0; i++) { w[i] = z % 2; z = z / 2; c++; } for (int i = c - 1 ; i >= 0; i--) { cnt = cnt * 10 + w[i]; } while (x != 0) { g++; if (g == 9) break; s = x * 2; l = (int)s; for (int i = 0; i < g; i++) { l = l * 0.1; } sum = sum + l; x = s - (int)s; } sum = sum + cnt; cout << sum; return 0; }
------Input------
98.69140625
------Answer-----
1100010.10110001
------Your output-----
1.10001e+06