题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include "string.h" #include "stdio.h" int main(void) { int num = 0; while (scanf("%i\n", &num) != -1) { printf("%d\n", num); } return 0; }
特别备注:这是查看了题解之后根据别人的代码做的尝试复现。
该思路充分利用了C语言在对进制数处理方面的优势,通过对scanf和printf的格式控制进行直接处理;
%i可以接收8进制(以0开头),16进制(以0x开头),10进制(直接给数据),然后使用%d格式控制输出;
其实现的原因主要在于在底层的存储中以上几种方式都是二进制的01串,外在解读方式不影响内在存储方式。