C++之進制轉換


一、十進制,八進制,十六進制間相互轉換

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;
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM