小马快跑RUN 发表于 2021-9-12 09:26:23

进制换算

#include<stdio.h>
int main()
{
        int i;
        scanf("%d",& i);
        printf("%x", i);
        return 0;
}
这是我用十进制18换算成十六进制12
但为什么用二进制10010,八进制的22 换算成十六进制就不行呢?
#include<stdio.h>
int main()
{
        int i;
        scanf("%0b",& i);
        printf("%x", i);
        return 0;
}

wp231957 发表于 2021-9-12 10:26:10

除了10进制之外的数字都是字符串属性
你用int去定义,自然不可以

小马快跑RUN 发表于 2021-9-12 10:50:22

wp231957 发表于 2021-9-12 10:26
除了10进制之外的数字都是字符串属性
你用int去定义,自然不可以

那如果我想直接用八进制换算怎么弄呢?

wp231957 发表于 2021-9-12 11:13:58

小马快跑RUN 发表于 2021-9-12 10:50
那如果我想直接用八进制换算怎么弄呢?

自然得自己写函数转换,像一楼那样直接%d    到%x进行转换是不可能的了
页: [1]
查看完整版本: 进制换算