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

时间:2015-04-26 16:09:44

标签: c++ hex modulo

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

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

0x2479c  modulo 0xffff = 0x479e 

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

2 个答案:

答案 0 :(得分:5)

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

0x2479c & 0x0ffff

答案 1 :(得分:2)

使用面具

0x2479c & 0x0ffff

或模运算符

0x2479c % (0x10000);

你在模数的操作数中被一个人拒之门外。