早教吧作业答案频道 -->数学-->
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":...的网友还看了以下:
下列函数中,其函数图像经过点(1 0)的是,A.y=x^+1.B.y=x/1 C.y=3^x下列函 2020-04-05 …
下面除法算式中,商中间有0的是()A.328÷2B.366÷6C.525÷5 2020-04-07 …
上课没有认真听老师讲课,所以问几道题(1)已知a,b是实数,则“a>0且b>0”是“a+b>0且a 2020-04-27 …
点P(xo,y0)在曲线f(x,y)=0上是f(x0,y0)=0的什么条件这题有点难度的,要思考一 2020-05-12 …
(2014•大庆二模)下列函数f(x)中,满足“∀x1,x2∈(0,+∞)且x1≠x2,(x1-x 2020-05-14 …
吉布斯自由能变大于0,反应却可以进行,这是什么原因?我做活性炭吸附废水的实验,算出来吉布斯自由能变 2020-05-17 …
设函数f(x)可导,则X0为f(x)的极点值是f'(x0)=0的什么条件 2020-05-17 …
下列指令执行后,总是使CF=0,OF=0的是______。A.ANDB.NEGC.NOTD.INC 2020-05-23 …
下列指令执行后总是使CF=0,OF=0的是______。A.ANDB.NEGC.NOTD.INC 2020-05-24 …
下列函数中,值域为Y>0的是(D)AY=2X+1(X>0)BY=X的平方CY=1除以X的平方减1D 2020-06-02 …