gpt4 book ai didi

c++ - 如何在 C++ 中使用位掩码?

转载 作者:行者123 更新时间:2023-11-28 02:52:19 26 4
gpt4 key购买 nike

我正在尝试用 C++ 屏蔽一个地址。这是我试过的。

INT32 * myaddr = (INT32*)addr; // This converted 'addr' to the hexadecimal format -- 'myaddr'

现在我如何它 0xff00 ?

UINT32 sec_addr = (myaddr & 0xff);

当我尝试执行以下操作时..这是我得到的错误:

error: invalid operands of types ‘LEVEL_BASE::INT32*’ and ‘int’ to binary ‘operator&’

我做错了什么?

最佳答案

你正在操作一个带整数的指针。使用原始的 addr 变量,它是一个整数,而不是 myaddr:

UINT32 sec_addr = 地址 & 0xff;//根据你的问题,这应该是 0xFF00

顺便说一句:你的第一行:

INT32 * myaddr = (INT32*)addr; // This converted 'addr' to the hexadecimal format -- 'myaddr'

不会将 addr 转换为“十六进制格式”。十六进制只是打印时表示数字的一种方式。 addrmyaddr 都可以显示为您想要的任何数字基数。

printf("%d %X\n", addr, addr);

以十进制和十六进制格式打印 addr 的值。

关于c++ - 如何在 C++ 中使用位掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22780753/

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