使用c++的位运算写一段十进制转化为二进制数的代码
时间: 2023-03-31 17:04:50 浏览: 119
以下是使用 C 语言的位运算写的十进制转化为二进制数的代码:
```c
#include <stdio.h>
void decimalToBinary(int decimal) {
int binary[32];
int i = ;
while (decimal > ) {
binary[i] = decimal % 2;
decimal = decimal / 2;
i++;
}
for (int j = i - 1; j >= ; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
printf("转化为二进制数为:");
decimalToBinary(decimal);
return ;
}
```
以上代码中,我们使用了位运算中的右移和按位与操作,但是这并不是最优解,因为我们可以直接使用 C 语言中的 `printf` 函数的格式化输出来实现十进制转化为二进制数,如下所示:
```c
#include <stdio.h>
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
printf("转化为二进制数为:%d\n", decimal);
printf("转化为二进制数为:%o\n", decimal);
printf("转化为二进制数为:%x\n", decimal);
return ;
}
```
以上代码中,我们使用了 `printf` 函数的格式化输出,其中 `%d` 表示十进制输出,`%o` 表示八进制输出,`%x` 表示十六进制输出。
阅读全文