c++ |
您所在的位置:网站首页 › 如何比较二进制的大小数 › c++ |
在 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 |