一、十進制,八進制,十六進制間相互轉換
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\n", num); //輸出十進制形式 printf("%d\n", num); //輸出十六進制形式 printf("%x\n", num); int num2; //讀入一個八進制數 scanf_s("%o", &num2); printf("%o\n", num2); printf("%d\n", num2); printf("%x\n", 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; }