我有一个与此另一个相关的新问题,已解决Get specific byte from M68k ram address with C language
现在我的地址有一整行:
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
是十六进制。
如果我尝试使用与其他问题相同的模式,我无法获得printf显示的值... 这就是我所做的:
char* REG_SW;
REG_SW = (char*)0x300123;
然后:
printf("H DIP SWITCHES: %d", REG_SW[0])
给我-1
提前致谢和Merry XMas !!
答案 0 :(得分:2)
要以十六进制格式打印char
值,请使用
printf("H DIP SWITCHES: %02X", REG_SW[0])
查看printf
X
教程,但我们案例的本质是使用02
格式说明符,其值以十六进制形式打印,宽度为2字节(这是格式宽度背后的内容) unsigned char* REG_SW (unsigned char*) 0x300123;
)
{{1}}