早教吧作业答案频道 -->数学-->
x&(x-1)?"yes":"no"这句表达式能判断x是否是一个2的幂么?要求用一句C表达式测试一个数是否为2的幂,应该怎么写?“若果都为1,则结果为1,否则为0.”额,那就是说如果运算得到101,那么结果就是0咯?
题目详情
x&(x-1)?"yes":"no" 这句表达式能判断x是否是一个2的幂么?
要求用一句C表达式测试一个数是否为2的幂,应该怎么写?
“若果都为1,则结果为1,否则为0.” 额,那就是说如果运算得到101,那么结果就是0咯?= =这么诡异的呀.
那这个能证明一下么 为啥x&(x-1)结果的0 1就能判断是否为2的幂呢?
要求用一句C表达式测试一个数是否为2的幂,应该怎么写?
“若果都为1,则结果为1,否则为0.” 额,那就是说如果运算得到101,那么结果就是0咯?= =这么诡异的呀.
那这个能证明一下么 为啥x&(x-1)结果的0 1就能判断是否为2的幂呢?
▼优质解答
答案和解析
你写的表达式想判断的话还差点就是把后边的yes和no交换位置
即:x&(x-1)?"no":"yes";
位运算这个其实并不难,你听我说几句:
首先来看几个数,这几个数不大,都是10以内的,我们看看它们对应的二进制数是啥
0——0
1——1
2——10
3——11
4——100
5——101
6——110
7——111
8——1000
9——1001
楼主可自己拿7,6,5 试下 肯定结果不是0 因为它们的“位数” 相同
最高位又都是1 所以肯定结果中会有1的存在,结果不可能是0,所以
x&(x-1)?"no":"yes"; 应该取得no
而4,2 它们运算后的结果和8一样,也是0.
综上,表达式x&(x-1)?"no":"yes"; 可以判断x是否是一个2的幂
即:x&(x-1)?"no":"yes";
位运算这个其实并不难,你听我说几句:
首先来看几个数,这几个数不大,都是10以内的,我们看看它们对应的二进制数是啥
0——0
1——1
2——10
3——11
4——100
5——101
6——110
7——111
8——1000
9——1001
楼主可自己拿7,6,5 试下 肯定结果不是0 因为它们的“位数” 相同
最高位又都是1 所以肯定结果中会有1的存在,结果不可能是0,所以
x&(x-1)?"no":"yes"; 应该取得no
而4,2 它们运算后的结果和8一样,也是0.
综上,表达式x&(x-1)?"no":"yes"; 可以判断x是否是一个2的幂
看了 x&(x-1)?"yes":...的网友还看了以下:
某二叉树共有530个结点,其中度为2的结点有250个,测度为1的结点数为? 2020-04-07 …
为什么无理数的测度为1而有理数的就为0啊?谁能给个回答?要实实在在的论证过程,不要东说西说的? 2020-06-03 …
概率论!设总体X的一组样本观测值为1,2,3,则相应的样本方差的观测值为S的平方=? 2020-06-10 …
自旋到底是则么回事?自旋是什么,自旋为0,为1,为2,为1/2又是什么?为什么会出现自旋这种现象呢 2020-07-16 …
行测0、1、1、4、19、()0、1、1、4、19、()A.373B.252C.268D.254 2020-07-19 …
1.真实值为0.1020克的样品,测定值为为0.100克.该测定结果的绝对误差是相对误差1.真实值 2020-08-02 …
if公式总么表达A>0B>0C>0为1否则为0 2020-11-01 …
线性代数,向量组证明,用秩.已知n维向量α1,α2,α3线性无关.若β1,β2,β3可由α1,α2, 2020-11-11 …
Excel里怎样在多个单元格中提取总共显示最多的那个数字或并列最多的几个数字?比如:A1=31,B1 2020-11-20 …
对某量进行不等精度测量,测得值和标准差分别为X1=1.7S1=u1=0.2X2=1.5S2=u2=0 2020-12-20 …