
面试李组长为您分享以下优质知识
将十进制数37转换为二进制数,可以采用以下两种方法:
一、短除法(整数部分)
将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 binaryValue;
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