欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 09:26:38
...

环境: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;
}

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

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

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