【发布时间】:2017-03-19 21:03:00
【问题描述】:
文字表达式也有类型吗?
long long int a = 2147483647+1 ;
long long int b = 2147483648+1 ;
std::cout << a << ',' << b ; // -2147483648,2147483649
【问题讨论】:
-
因为你先做
a+1然后把它转换成long long。 -
检查一下,你的疑虑就会一扫而光:stackoverflow.com/questions/1819189/…
-
我看不出关于 long long 的问题与“文字表达式也有类型吗?”的问题有什么关系。
-
long long in C/C++的可能重复
-
答案是“是”,而 2147483647 的类型要么是 int,要么是(最多)long。我知道当前没有添加一个不会溢出的实现。
标签: c++ int long-integer integer-overflow