十进制数转换为2进制、十进制数转换为8进制、十进制数转换为16进制

环境:win10,vs2013
此文用来把一个十进制整数转换为一个输入的进制(最大为十六进制)所对应的的数,即就是输入十进制数可以转换为任意进制

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void translate(long num, int transformRight)
{
    int number[16] = { '0', '1', '2', '3', '4', '5', '6', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
    int numIndex[8];
    int i = 0;
    while (num>0 && i<8)
    {
        numIndex[i] = num%transformRight;//存放余数
        num /= transformRight;//变化"num"的值
        i++;

    }
    for (i -= 1; i >= 0; i--)//逆序输出余数(即就是运算后的结果)
    {
        switch (numIndex[i])
        {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:printf("%d", numIndex[i]); break;
        case 10:printf("a"); break;
        case 11:printf("b"); break;
        case 12:printf("c"); break;
        case 13:printf("d"); break;
        case 14:printf("e"); break;
        case 15:printf("f"); break;
        }

    }
    printf("\n");
}
int main()
{
        int num, transformRight;
        printf("请输入要转换的进制\n");
        scanf("%d", &transformRight);
        printf("请输入要转换的数(八位以内)\n");
        scanf("%d", &num);
        printf("结果是:");
        translate(num, transformRight);
        system("pause");
        return 0;
}

这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值