如何在C++中获取字符中最不重要的部分
How to get the least significant bits of a char in C++
我有一个字符变量,我只对两个最不重要的十六进制值感兴趣。如何丢失所有其他值?例:
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。
[如果这不是问题所在,那么您将需要更新您的问题以包含您正在使用的实际代码。
相关文章:
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 使用不带参数的函数访问结构元素
- 为什么std::valarray不是算术的
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 将静态库链接到不带-fPIC的共享库中
- 检查不带转换的扫描格式
- 如何在C++中读取空格分隔的输入 当我们不知道输入的数量时
- 为什么指针不写入类的地址?
- IpOpt拒绝解决不受约束的问题
- basic_string的前导/尾部不区分空格的特征
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- 如果 std::vector::clear() 不是静态的,如何在没有实例的情况下调用它?
- 将QOpenGLWidget子类转换为使用Metal而不是OpenGL的子类是否可行?
- C++系统找不到指定的文件错误
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 为什么我可以在不重载 "=" 运算符的情况下将一个对象分配给另一个对象?
- 使用 std::optional,而不是自己的结构
- C++模板 t 不是有效的模板类型
- 参数包不在最后位置的部分类模板专用化
- 如何在不同的类中使用QNetworkAccessManager?类之间重要数据的常规共享