帮我写一个C++程序给定一个整数,如321,输出它的二进制、八进制、十六进制表示形式
时间: 2023-08-31 15:27:09 浏览: 112
### 回答1:
好的,以下是程序:
```c
#include <stdio.h>
int main() {
int num = 321;
printf("二进制表示:%b\n", num);
printf("八进制表示:%o\n", num);
printf("十六进制表示:%x\n", num);
return ;
}
```
输出结果为:
```
二进制表示:101000001
八进制表示:501
十六进制表示:141
```
### 回答2:
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("十进制:%d\n", num);
printf("二进制:%ld\n", convertToBinary(num));
printf("八进制:%lo\n", num);
printf("十六进制:%lx\n", num);
return 0;
}
long convertToBinary(int num){
long binary = 0;
int remainder, i = 1;
while (num != 0){
remainder = num % 2;
num /= 2;
binary += remainder * i;
i *= 10;
}
return binary;
}
上面的程序实现了获取输入整数的二进制、八进制和十六进制表示形式,并将它们输出。
### 回答3:
下面是一个C程序,输入一个整数,输出其二进制、八进制、十六进制表示形式。
```c
#include <stdio.h>
void printBinary(int num) {
printf("二进制表示:%b\n", num);
}
void printOctal(int num) {
printf("八进制表示:%o\n", num);
}
void printHexadecimal(int num) {
printf("十六进制表示:%x\n", num);
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printBinary(num);
printOctal(num);
printHexadecimal(num);
return 0;
}
```
在该程序中,我们使用了三个函数来打印给定整数的二进制、八进制和十六进制表示形式。这些函数分别是printBinary、printOctal和printHexadecimal。在main函数中,我们首先接收用户输入的整数,并将其存储在变量num中。然后,我们调用每个打印函数来输出对应进制的表示形式。