int的负数比正数多一个,则有一个负数在int范围内没有对应的正数

最大正整数用十六进制,很容易表示:0x7f ff ff ff

int num = 0x7fffffff;
num = -num;
printf("%d\n", num);
printf("%d\n", -num);

int和long long有符号整形 负数比正数多一个

最小负整数则是

    int tnum = num - 1;
    printf("%d\n", tnum);
    printf("%d\n", -tnum);

int和long long有符号整形 负数比正数多一个

原因是因为有一个0

long long 类型也是如此,正数比负数少一个

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-21
猜你喜欢
  • 2021-11-03
  • 2021-07-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-04
  • 2022-03-04
相关资源
相似解决方案