关于像0x20这样的字符如何转化为16进制的数 反过来16进制的数字如何转成0x20的字符?

发布网友 发布时间:2022-04-23 10:30

我来回答

3个回答

热心网友 时间:2023-10-11 12:26

0x20 就是16进制数 20,
int x = 0x20; // x 里就是 16进制数 20
printf("%d %#x\n",x,x); // 输出为 32 0x20 -- 10进制32,16进制20
-----------
int y=32; // y 里就是 10进制数 32
printf("%d %#x\n",y,y); // 输出为 32 0x20 -- 10进制32,16进制20
------------------
char str[]="0x20"; // 若是字符串形式
int z;
sscanf(str,"0x%x",&z); // 用有格式读 把字符串转为 int 型
printf("%d %#x\n",z,z); // 输出z为 32 0x20 -- 10进制32,16进制20

热心网友 时间:2023-10-11 12:26

大于十进制的数,都要用字母来代替,本身就是字符串的,你这里说的就是本来的样子了,没有所谓的这两种之间转换,到是有 不同进制之间的转换。
可能你觉得我们写程序和输出的时候都是十进制的,但是你要知道,其实他们在计算机里存的还是二进制的,只是我们的程序在执行的时候,会自动把我们写的十进制的数据处理成二进制的来使用而已,而我们输出的时候也有程序自动转回十进制的

热心网友 时间:2023-10-11 12:27

0x开头本来就是16进制的,不用转吧,还是我理解错误追问同样要谢谢你的回答!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com