feiyu 发表于 2024-3-6 17:45:24

-2147483648出现警告:'-' applied to unsigned type, result still unsigned|已解决

本帖最后由 feiyu 于 2024-3-7 13:45 编辑

数据类型是signed long,32位数据范围应该是-2147483648~2147483647,为什么会出现警告呢?

-2147483648L出现警告:





-2147483647L无警告:




gentleman 发表于 2024-3-6 19:10:03

本帖最后由 gentleman 于 2024-3-6 19:17 编辑

用 -2147483647 -1


因为编译器 发现2147483648 >2147483647
认为这是一个 无符号变量(大于有符号变量范围)
这时在给 2147483648(编译器眼中的无符号变量) 加上 ‘-’
编译器会警告:

         将‘-’ 应用与无符号类型,结果依旧时无符号
页: [1]
查看完整版本: -2147483648出现警告:'-' applied to unsigned type, result still unsigned|已解决