请教高手们: 0x8000等于多少 for(i=0x8000;i>0x8; i>>=1) 什么意思

2024-12-01 11:21:20
推荐回答(3个)
回答1:

for(i=0x8000;i>0x8; i>>=1)是个循环语句
等价于
for(i=0x8000;i>0x8; i++) 不过是个死循环,初始值都比0x8大,更何况执行一次就自动加1一次
还等价
i=0x8000
while(i>0x8)
{
i=i+1;
}

回答2:

>>是右移的意思。运算结果是除以2.
0x8000转成十进制是32768,0x8转十进制为8.
翻译过来。这句语句的意思是

for(int i=32768;i>8;i/=2){
......
}

所以,不是死循环的。

回答3:

那是十六进制