| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 69668 | 彭林江 | 十进制小数转二进制 | C++ | Accepted | 1 MS | 272 KB | 591 | 2024-04-06 11:56:45 |
#include<bits/stdc++.h> using namespace std; int main(){ double n; cin >> n; int z = n; // 隐式的强制转换 double x = n - z; // To-do利用z来处理整数部分,跟前面一样, if(z == 0){ cout << 0; } int zs[32] = {0}, cnt=0; while(z!=0){ zs[cnt++] = z%2; z/=2; } for(int i = cnt-1; i>=0; i--){ cout << zs[i]; } // To-do利用x来处理小数部分, if(x == 0){ return 0; }else{ cout << "."; } for(int i = 0; i < 9; i++){ x*=2; cout << (int)x; x -= (int)x; if(x == 0){ break; } } return 0; }