gpt4 book ai didi

c - 用C语言从M68k ram地址中获取特定的十六进制

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:35 24 4
gpt4 key购买 nike

我有一个与另一个问题相关的新问题,已解决 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

提前致谢,圣诞快乐!!

最佳答案

为了以十六进制形式打印 char 值,请使用

printf("H DIP SWITCHES:  %02X",   REG_SW[0])

here对于 printf 教程,但在我们的例子中,本质是使用 X 格式说明符,其值以 2 个字节宽的十六进制形式打印(这是格式宽度 后面的内容) 02)

编辑-正如 chux 在他对问题的评论中观察到的那样,将寄存器值视为无符号类型是至关重要的

unsigned char* REG_SW (unsigned char*) 0x300123;

关于c - 用C语言从M68k ram地址中获取特定的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27650837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com