将十进制数37转换为二进制数,可以采用以下两种方法:
一、短除法(整数部分)
连续除以2并记录余数 将37除以2,记录每次的余数,直到商为0:
```
37 ÷ 2 = 18 余 1
18 ÷ 2 = 9 余 0
9 ÷ 2 = 4余 1
4 ÷ 2 = 2余 0
2 ÷ 2 = 1余 0
1 ÷ 2 = 0余 1
```
倒序排列余数
将记录的余数从下到上排列,得到二进制数:
```
100101
```
二、位运算(编程实现)
使用循环和取余操作,通过代码实现转换:
```cpp
include include include std::string decimalToBinary(int n) { std::vector while (n > 0) { binaryValue.push_back(n % 2 ? '1' : '0'); n /= 2; } std::reverse(binaryValue.begin(), binaryValue.end()); return std::string(binaryValue.begin(), binaryValue.end()); } int main() { int number = 37; std::string binary = decimalToBinary(number); std::cout << "37 in binary is: " << binary << std::endl; // 输出 100101 return 0; } ``` 验证结果 通过上述两种方法,十进制数37转换为二进制数的结果均为 100101,与权威资料一致。 补充说明 小数部分处理: 若需转换含小数的十进制数,需将整数部分和小数部分分别转换后拼接。 工具辅助