如何获取十六进制数的最后n位数?

Shu*_*dia -3 c++ hex modulo

我需要一个非常简短的方法来提取十六进制数的最后4位数.所以输入0x2479c应该抛出一个输出0x479c.我想避免转换和重新转换为二进制.

模数除法通常适用于十进制数,在这种情况下不起作用.

0x2479c  modulo 0xffff = 0x479e 
Run Code Online (Sandbox Code Playgroud)

这是不正确的.我试图实现这个是c/c ++.

Ced*_*ric 5

你应该使用一个掩码,然后使用字节'和'与另一个值.在你的情况下:

0x2479c & 0x0ffff
Run Code Online (Sandbox Code Playgroud)

  • `S /应该/能/ g`."0x10000"的模数除法同样有效. (2认同)