44问答网
所有问题
unsigned word; int n; word=~0; //什么意思 n=1; while((word>>=1)!=0) //什么意思 ++n; cout<<n;
如题所述
举报该问题
推荐答案 推荐于2016-05-09
unsigned word; -- 声明 word 是 无符号整型。
word=~0; -- word 等于 0的按位取反,得2进制32位全1。16进制0xffffffff.
word>>=1 word 右移1位,左端最高位补1个0,再赋回word.
循环,当 移位运算后word 不等于0 继续循环。等于0时退出循环。
n 是计数器,统计一共循环了多少次。-- 连续32位1,则循环32次。输出 n = 32.
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/3YD6V6KKW.html
其他回答
第1个回答 2013-01-13
简单的说下:
word=~0就是说将 0 的各个位去反,在赋值给变量word
word>>=1 是另一种形式的简写:word=word>>1,即word变量右移一位再赋值给word
while((word>>=1)!=0)则是指当word变量右移一位后不等于0条件为真就执行while循环语句
现在应该清楚了吧本回答被提问者采纳
相似回答
挺简单的
一
个程序,但是不知道
while(1
)是
什么意思
,这个程序在输入负数...
答:
while(1
) 就是一直做下去,1表示true,while里总是true 负数出错是因为
unsigned
int gz
int;
, gzint不带符号所以不能为负,把unsigned去掉就行了
帮忙解释一下,这个单片机的延时程序
答:
第一个是取i的十位,减减i每次减一后判断i是否为
0;
是可以退出循环的当n减为0时退出啊。
c语言操作题
答:
t=n%10表明这个函数需要顺序取得输入数字的每个位上的数据来进行运算,第1次得到个位,第2次十位,...,直到没数可取,即循环条件
while (
n
)的
意思;
if ( t%2==【1】)表明要进行t的奇偶判定才进行下面运算,根据返回值是22,642,64862,这个条件一定是偶数情况满足,那么【1】应当填为:
0
,...
单片机编写的程序 这是哪错了 麻烦大神给看看 指点一下
答:
延时函数前要加 void 数组表格后要加分号 末尾多了一个大括号 还有延时函数未调 用(不算错误,但会警告)
大家正在搜
int转unsigned int
unsigned int i
unsigned int a
c语言unsigned int
unsigned int范围
unsigned int输出
unsigned int数据范围
unsigned int取值范围
unsigned int几个字节
相关问题
while(TrainWord(NAME_ID,1) != ...
int n_line=0,n_word=0,n_chara=...
word[strlen(word)-1]='\0'是什么意思...
N-word什么意思?
matlab出现??? Index exceeds matr...
c语言中while(!=EOF)是什么意思,讲的通俗点 谢谢
在word中怎样输入1/1+X=∑∞n=0(-1)nXn
word文档显示1nk什么意思