进制转换简约版

进制转换

首先讲下什么是进制

比如二进制

2变成二进制就是10,也就是2^1

4变成二进制就是100,也就是2^2

 

 

如上图所示

比如9变成1001,就是

9%2=1,9/2=4,所以最后一位是1,

4%2=0,4/2=2,所以倒数第二位是0

2%2=0,2/2=1,所以倒数第三位是0

1%2=1,1/2=0,所以倒数第四位,也就是第一位是1

由于除尽了,也就是最后变成了0,则答案是1001

至于转化成十几进制,如果某位是10,则用A表示,11用B

附代码

 
#include<stdio.h>
const int N=50;
char ch[N];
int main(){
    int x,y,a;
    int n=0;
    scanf("%d%d",&x,&y);
    do
    {
        a=x%y;
        x=x/y;
        if(a>9)ch[n]='A'+a-10;
        else ch[n]='0'+a;
        n++;
    }while (x>0);
    for(int i=n-1;i>=0;i--)
    {
        printf("%c ",ch[i]);
    }
    printf("\n");
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值