
面试李组长为您分享以下优质知识
将十进制数转换为二进制数在编程中可通过多种方法实现,以下是主要方法及示例代码:
一、Java实现(除2取余法)
```java
import java.util.Scanner;
public class DecimalToBinary {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个十进制整数: ");
int number = sc.nextInt();
String binary = "";
while (number >
0) {
int remainder = number % 2;
binary = remainder + binary;
number /= 2;
}
System.out.println(number + "的二进制为: " + binary);
}
}
```
二、C语言实现(递归法)
```c
include
void printBinaryRecursive(int n) {
if (n >
0) {
printBinaryRecursive(n / 2);
printf("%d", n % 2);
}
}
int main() {
int num;
printf("请输入一个十进制整数: ");
scanf("%d", &num);
printf("对应的二进制数为: ");
printBinaryRecursive(num);
return 0;
}
```
三、C语言实现(位运算法)
```c
include
void printBinary(int num) {
for (int i = 31; i >
= 0; i--) {
printf("%d", (num >
>
i) & 1);
}
}
int main() {
int num;
printf("请输入一个十进制整数: ");
scanf("%d", &num);
printf("对应的二进制数为: ");
printBinary(num);
return 0;
}
```
四、Python实现(内置函数)
```python
number = 42
binary_representation = bin(number)[2:] 去掉前缀"0b"
print(binary_representation)
```
五、Javascript实现(toString方法)
```javascript
let number = 42;
let binary = number.toString(2);
console.log(binary);
```
说明:
通过不断除以2并记录余数,最终将余数倒序排列得到二进制数。
利用函数调用栈实现逆序输出,适合理解递归思想。
通过右移和按位与操作提取二进制位,效率较高。
Java的`bin()`、Python的`bin()`、Javascript的`toString(2)`等提供便捷转换。