#include<bits/stdc++.h>
#define ull unsigned long long
using namespace std;
signed main(){
ull k=64;
long long k2=64;
int k3=64;
__int128 a=1ull<<k;
__int128 b=1ll<<k2;
__int128 c=1<<k3;
__int128 d=1ull<<64ull;
__int128 e=1ll<<64ll;
__int128 f=1<<64;
cout<<(ull)a-2<<" "<<(ull)b-2<<" "<<(ull)c-2<<" "<<(ull)d-2<<" "<<(ull)e-2<<" "<<(ull)f-2;
return 0;
}
正确输出应该是6个18446744095507371614(264−2)可我的输出前3个是18446744095507371615,后3个是18446744095507371614,为啥?