进制转换—C++

无聊的历史课编写了一个进制转换的软件,软件比较单一,只能进行十进制向二进制、八进制、十六进制的转换。

借助C4droid的便利性,直接生成了APK,安卓机通吃。

/*
* Copyright (c) 2014,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:demo.cpp
* 完成时间:2014年12月16日
* 版本号:v1.0
*/
#include <iostream>
using namespace std;
// 十进制数转换成二进制数字
void swap_1(int n)
{
    if (n < 2)
        cout << n;
    if (n >= 2)
    {
        swap_1(n / 2);
        cout << n % 2;
    }
}

// 十进制数字转换成八进制数字
void swap_2(int n)
{
    if (n < 8)
        cout << n;
    if (n >= 8)
    {
        swap_2(n / 8);
        cout << n % 8;
    }
}

// 十进制数转换成十六进制数字
void swap_3(int n)
{
    switch (n)
    {
    case 10:
        cout << "A";
        break;
    case 11:
        cout << "B";
        break;
    case 12:
        cout << "C";
        break;
    case 13:
        cout << "D";
        break;
    case 14:
        cout << "E";
        break;
    case 15:
        cout << "F";
        break;
    default:
        cout << n;
    }
}

void swap_4(int n)
{
    if (n < 16)
        swap_3(n);
    if (n >= 16)
    {
        swap_4(n / 16);
        swap_3(n % 16);
    }
}
int main()
{
    int  num,choice;
    int a[100], n = 0, i;
    cout << "1_十进制→二进制" << endl;
    cout << "2_十进制→八进制" << endl;
    cout << "3_十进制→十六进制" << endl;

    cout << "请输入要选择的功能:";
    cin >> choice;
    cout << "请输入要转化的值:  ";
    cin >> num;
    if (choice == 1)
    {
        cout << num << "转化为二进制为:";
        swap_1(num);
        cout << endl;
    }
    else if (choice == 2)
    {
        cout << num << "转化为八进制为:";
        swap_2(num);
        cout << endl;
    }
    else if (choice == 3)
    {
        cout << num << "转化为十六进制为:";
        swap_4(num);
        cout << endl;
    }
}

电脑端显示:



安卓端显示:(Android4.4.4)



下一个项目,做一个基于Visual Basic的进制转换。

等风来。

@ Mayuko

原文地址:https://www.cnblogs.com/mayuko/p/4567579.html