如图,十进制转十六进制(不要用print函数,不需要命令行输出窗口)?

从设备遵从modbus协议,图中是其中一条指令,首字节指的是设备地址,是一个0x的16进制数,我现在想要灵活的选从设备,但不想用很多个switch case,我的想法是把图中的buffer【0】变成一个变值。比方说,我选2号从机,我输入一个十进制2,再写一个转换的函数,这个函数的输出就是0x02,图中buffer【0】就等于这个函数的输出,也就是0x02。这个十进制转十六进制函数,结果还要带0x,怎么编呢

第1个回答  2021-04-30
你可能对十六进制的理解还不够
C语言的源码里面的0x02是一个十六进制的整数,它代表的与十进制写法的2没有任何区别,
也就是说0x这个字符并不是必须写的。
你直接把等号后面的值全部换成十进制就行了。
相似回答