写一个C++进制转换代码(10进制转16进制)
时间: 2024-05-14 13:15:56 浏览: 11
好的,下面是代码示例:
```c++
#include <stdio.h>
int main() {
int num;
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("十进制数 %d 转化为十六进制为:0x%X\n", num, num);
return 0;
}
```
在这个示例中,我们通过从用户获取一个十进制整数并使用 `%d` 进行读取,然后使用 `%X` 输出它的十六进制值,使用 `0x` 前缀来表示十六进制数。
希望这可以帮助你。
相关问题
写一个C++进制转换代码
以下是一个简单的 C 代码,用于将十进制数转换为二进制、八进制和十六进制:
#include <stdio.h>
void decimalToBinary(int decimalNum);
void decimalToOctal(int decimalNum);
void decimalToHexadecimal(int decimalNum);
int main()
{
int decimalNum;
printf("请输入一个十进制数: ");
scanf("%d", &decimalNum);
decimalToBinary(decimalNum);
decimalToOctal(decimalNum);
decimalToHexadecimal(decimalNum);
return 0;
}
void decimalToBinary(int decimalNum)
{
int binaryNum[32], i = 0;
while(decimalNum > 0)
{
binaryNum[i] = decimalNum % 2;
decimalNum /= 2;
i++;
}
printf("二进制数为: ");
for(int j = i-1; j >= 0; j--)
{
printf("%d", binaryNum[j]);
}
printf("\n");
}
void decimalToOctal(int decimalNum)
{
int octalNum[32], i = 0;
while(decimalNum > 0)
{
octalNum[i] = decimalNum % 8;
decimalNum /= 8;
i++;
}
printf("八进制数为: ");
for(int j = i-1; j >= 0; j--)
{
printf("%d", octalNum[j]);
}
printf("\n");
}
void decimalToHexadecimal(int decimalNum)
{
int hexadecimalNum[32], i = 0;
while(decimalNum > 0)
{
hexadecimalNum[i] = decimalNum % 16;
decimalNum /= 16;
i++;
}
printf("十六进制数为: ");
for(int j = i-1; j >= 0; j--)
{
if(hexadecimalNum[j] < 10)
printf("%d", hexadecimalNum[j]);
else
printf("%c", hexadecimalNum[j] + 55);
}
printf("\n");
}
C++ 进制转换16进制转10进制
以下是C++实现16进制转10进制的代码:
```c++
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int hexToDec(string hex) {
int len = hex.length();
int base = 1;
int dec = 0;
for (int i = len - 1; i >= 0; i--) {
if (hex[i] >= '0' && hex[i] <= '9') {
dec += (hex[i] - 48) * base;
base *= 16;
}
else if (hex[i] >= 'A' && hex[i] <= 'F') {
dec += (hex[i] - 55) * base;
base *= 16;
}
}
return dec;
}
int main() {
string hex = "FF";
int dec = hexToDec(hex);
cout << "Hexadecimal number " << hex << " in decimal is " << dec << endl;
return 0;
}
```