Tag: 签名

C ++将hexstring转换为有符号整数

我想在C ++中将hexstring转换为32位有符号整数。 所以,例如,我有hexstring“fffefffe”。 这个二进制表示是11111111111111101111111111111110.这个有符号整数表示是:-65538。 我如何在C ++中进行这种转换? 这也需要为非负数工作。 例如,hexstring“0000000A”,二进制为00000000000000000000000000001010,十进制为10。

对无符号和有符号整数进行比较操作

看到这个代码片段 int main() { unsigned int a = 1000; int b = -1; if (a>b) printf("A is BIG! %d\n", ab); else printf("a is SMALL! %d\n", ab); return 0; } 这给出了输出:a是SMALL:1001 我不明白这里发生了什么事情。 >运营商如何在这里工作? 为什么“a”小于“b”? 如果它确实更小,为什么我得到一个正数(1001)的差异?