所以我正在玩類型和我下面出現這個奇怪的結果。調試它沒有意義,然後唯一的結果是檢查出C++ spects,這沒有太大的幫助。我想知道你是否可能完全知道這裏發生了什麼,如果它是32Bit和/或64Bit的特定問題。unsigned int/signed int/long long:莫名其妙的輸出
#include <iostream>
using namespace std;
int main() {
unsigned int u = 1;
signed int i = 1;
long long lu = -1 * u;
long long li = -1 * i;
std::cout<<"this is a weird " << lu << " " << li << std::endl;
return 0;
}
當輸出是
this is a weird 4294967295 -1
@George這不是未定義的行爲,因爲這是無符號整數溢出 – DarthRubik