• 进制转换—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

  • 相关阅读:
    在SQL Server中保存和输出图片 (转)
    Oracle 和 IBMDB2 连接字符串
    DataSet中 新增 唯一键 外键
    ORACLE的数据类型
    window.event的属性
    学习资料下载
    防止 刷新 重做
    常用正则表达式 (转)
    JS 定时器 (setInterval 和 setTimeout 函数)
    ASP.NET 2.0 – 善用DataSourceMode属性 (转自章立民CnBlogs)
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567579.html
Copyright © 2020-2023  润新知