当k > 1时
for(register int i = 0;n != 0;++i,n = n >> 1){
ans += pow(2,i);
}
当输入为:1000000000000000000 1000000000000000000
时,输出为:1152921504606846976
而答案为:1152921504606846975
for(register int i = 0;n != 0;++i,n = n >> 1){
ans += (1LL<<i);
}
AC了,但是(1LL<<i)的操作不等价于pow(2,i)吗?求大佬解答