c++

您所在的位置:网站首页 如何比较二进制的大小数 c++

c++

2024-07-13 19:27| 来源: 网络整理| 查看: 265

在 C++ 中,我有两个字符保存十六进制值,例如:

char t = 0x4; char q = 0x4;

如果 char 中保存的两个值相同,我将如何比较?我试过了

if (t == q) // should give me true

但是不,任何帮助,谢谢!

最佳答案

char 只是一个 8 位整数。使用十六进制或十进制文字初始化它并不重要,无论哪种情况,之后 char 的值都是相同的。

所以:

char t = 0x4; char q = 0x4; if(t == q) { //They are the same }

相当于:

char t = 4; char q = 4; if(t == q) { //They are the same }

你提到上面不是真的,但你的代码一定有错误或者t和q一定不一样。

您的建议...

if (t == q) // should give me true but no, any help, thanks!

不正确。为什么?

t & q 进行按位比较,返回两个对齐位均为 1 的值。

只要 t 和 q 的任何位相同,术语“if(t&q)”就会返回 true。

所以如果 t = 3 二进制 00000011 和 q = 1 二进制 00000001 那么即使知道它们不相等,(t&q) 也会返回 true。

关于c++ - 比较保存十六进制值的 Char C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/257286/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3