请问 32位有符号的整形 第一位可以进行位运算吗?

32位有符号的整形 第一位可以进行位运算嘛
如果可以进行位运算 为何我这段代码会报错呢

img

你这代码是不是写错了,n&(1<<i)这里不是i吧

你输入31位数传给一个uint32 不行,已经超出了uint32的范围,因为uint32也就是2的32次方,最大到4294967296才10位数,所以肯定接受不了31位数,所以就报了你这个错。
而且位运算不是你这样实现。