The*_* do 5 c++ built-in-types
signed long long value = -2147483648;
cout << ((signed long long)value);
Run Code Online (Sandbox Code Playgroud)
输出2147483648(没有减号),为什么?
signed long long value = -2147483648;
Run Code Online (Sandbox Code Playgroud)
2147483648不能用32位有符号整数表示,所以它被转换为无符号,然后应用一元减号(它不会改变任何东西),然后将它分配给有符号的long long.使用-2147483648LL