首页 >>  正文

int x=0x15,y=0x0f,x&y的结果是( ) int u=1,v=14,表达式u+v》2的值是( ) int u=1,v=3,u《=v的值是

来源:www.zuowenzhai.com    作者:编辑   日期:2024-06-16
int x=0,y=1,u=2,v=3,w; w=x>y?x:u>v?u:v; system out.println (w)

答案是3
首先你要知道 w=x>y?u:v的原理
w等于 x>y? 如果真 则w=u 如果假则w=v
所以按照你这个提是
x>y = 0>1 假,所以w=u>v?u:v;
那么u>v = 2>3 假 所以w=v=3

哥的回答怎么就不被采纳呢,写的如此详细,也不被采纳。。。

(1)设v=kx+b,把(0,-1)、(1,1)代入得b=?1k+b=1,解得k=2b=?1,∴v=2x-1;(2)设u=ax2,则y=ax2+2x-1,∵当x=-1时,y=ax2+2x-1取最小值,∴抛物线的对称轴为直线x=-1,即?22a=?1,∴a=1,∴y=x2+2x-1,(3)把x=-1代入y=x2+2x-1得y=1-2-1=-2,即y的最小值为-2.

(1)先变成2进制然后去算 0x15二进制是1111、0x0f二进制是10101 这两个数的&
01111
10101
--------
00101
也就是说结果是5 上下同为1则为1,有一0刚为0、若是or操作则有一1则为1,同0则为0
(2)左移位<< 在低位处补0。右移位>> 若值为正则在高位插入0,若值为负则在高位插入1。
算术运算符优先级高于右移。左移一位等于乘2,右移一位等于除2。左移2位等于乘2的2次方,右移一位等于除2的2次方。左移n位等于乘2的n次方,右移一位等于除2的n次方。
15的二进制:0000 1111 右移2位 0000 0011也就是=3
(3)<<=、 >>=复合位运算赋值
u《=v相当于 :u = u << v 1=1<<3
的二进制:0000 0001 左移3位 0000 1000也就是=8

x&y=0x05
&是按位与,x和y都是16进制,转换成2进制再按位与;
u+v>>2=3
查询C++运算符优先级知道+高于>>,>>是移位符,将结果转成2进制移位后在转换成10进制就好
这里只写最后一个八位,1+14=15,二进制为0000 1111,右移两位,前边补零0000 0011,换成10进制为3
u<<=v 结果是8
运算符结合,这个式子相当于u=u<<v,运算方法同上。不过这个是左移位。

(1)
x = 00010101(b)
y = 00001111(b)
x&y=00000101(b)= 0x05

(2)
n+v = 15 = 1111(b)
右移两位 = 0011(b) = 3

(3)
u = 0001(b)
u 左移 v位
u = 1000(b) = 8



(编辑:任柴怀)
联系方式:
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 作文摘要网