一、十进制,八进制,十六进制间相互转换
C 语言中8进制,10进制,16进制可以使用其相应的占位符输入或输出。
有符号十进制整数:%d,
无符号八进制整数:%o,
使用十六进制数字0f的无符号十六进制整数:%x,
使用十六进制数字0f的无符号十六进制整数:%X。
例子如下:
#include <iostream> using namespace std; int main() { int num; //读入一个十进制数 scanf_s("%d", &num); //输出八进制形式 printf("%o ", num); //输出十进制形式 printf("%d ", num); //输出十六进制形式 printf("%x ", num); int num2; //读入一个八进制数 scanf_s("%o", &num2); printf("%o ", num2); printf("%d ", num2); printf("%x ", num2); return 0; }
二、十进制转换为任意其他进制
#include <iostream> using namespace std; //进制转换函数,转换为几进制N就是几 void Trans(int num, int N) { if (num > N - 1) { Trans(num / N, N); } cout << num % N; } int main() { int num; cin >> num; //将num转换为5进制输出 Trans(num, 5); cout << endl; return 0; }