如何在C++中获取字符中最不重要的部分

How to get the least significant bits of a char in C++

本文关键字:不重要 重要的部 字符 获取 C++      更新时间:2023-10-16

我有一个字符变量,我只对两个最不重要的十六进制值感兴趣。如何丢失所有其他值?例:

 char input = 0xFFFFFFD1;  

我想要:

 output = 0xD1;    

我试过了:

output = (input&0x000000FF);  

但比我刚刚得到:

output = 0xFFFFFFD1

如何解决这一挑战?

在您的平台上,char很可能是 8 位的。 在这种情况下,这:

char input = 0xFFFFFFD1;

同这个:

char input = 0xD1;

我还假设output属于 int 型。 在这种情况下,您需要以下内容:

int output = (unsigned char)input & 0xFF;

演示:http://ideone.com/FOdRG。

[如果这不是问题所在,那么您将需要更新您的问题以包含您正在使用的实际代码。