持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情
🚩write in front🚩
🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 阿里云星级博主~掘金⇿InfoQ~51CTOP创作者(创作新人榜No.38)~[CSDN]周榜102﹣总榜1024 ⇿ 全网访问量35w+🏅
🆔本文由 謓泽 原创 发布在 JueJin 如需转载还请通知⚠
📝个人主页-謓泽 的个人主页 - 文章 - 掘金 (juejin.cn)📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏-【C语言】Topic - 謓泽的专栏 - 掘金 (juejin.cn)🎓
✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩
🍅第七十二题→请输入十进制整数输出对应的八进制和十六进制🍅
🤔题解思路如下👇
每日名言:有理想在的地方,地狱就是天堂。有希望在的地方,痛苦也成欢乐。
⒈题目的本质。说明⇢我们所处理的整数通常都是用十进制来表示的,在生活当中我们也是对十进制最为熟悉的。但是,在计算机当中都是以二进制补码的形式来进行存储的。由于二进制表示的形式整数会比较长,为了便于程序的理解以及处理数据的时候我们通常都是以八进制和十六进制来表示的。这样的好处就是缩短了二进制的补码表示的长度整数,但是保持了二进制的表达特点。毕竟都是可以互相之间进行转换的。
⒉题目的输出要求。
说明⇢输出描述十进制的整数分别对应八进制和十六进制,字母大写和字母小写,在八进制前显示前面为0、在十六进制前显示为0X。
⒊题目举例。
十进制转八进制[0开头]
说明⇢十进制假设用③②来表示等于为「3x8(一次方)+2x8(零次方) = 24 + 2 = 26」
十进制转十六进制[0x开头]
说明⇢十进制假设用③②来表示等于为「3x16(一次方)+3x16(零次方) = 48 + 2 = 50」
注意⇢printf()可以在使用的时候格式控制串为"%o"和"%x"表示八进制和十六进制,而在"%#X"或者是%#o"就可以控制前面的0或者0X的显示了(前导)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int num = 0;
printf("请输入十进制数字->:");
scanf("%d", &num);
printf("十六进制:%x\n", num);
printf("八进制:%o\n", num);
printf("十六进制:%#X\n", num);
printf("八进制:%#o\n", num);
return 0;
}
运行结果🖊
请输入十进制数字->:32
十六进制:20
八进制:40
十六进制:0x20
八进制:040