小编Cra*_*365的帖子

C++中的十六进制与十进制

所以当我输入以下命令时

#include <stdio.h>
int main() {
  int myInt;
  myInt = 0xFFFFFFE2;
  printf("%d\n",myInt);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是-30.

我得到了两个补码的想法但是当我直接输入-30时我也得到了相同的数字.所以我的问题是为什么我会以十六进制形式写出我的号码?如果我使用十六进制形式,编译器如何区分我的意思是0xFFFFFFE2是-30的二进制补码还是值4294967266?

c++ hex overflow

-2
推荐指数
1
解决办法
203
查看次数

标签 统计

c++ ×1

hex ×1

overflow ×1