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

C 专栏收录该内容
40 篇文章 0 订阅

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

这里写图片描述

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值