几个基本运算符的问题?????初学,完全不明白

来源:百度知道 编辑:UC知道 时间:2024/05/03 05:39:54
1. x=10;y=7 z=(x&y) z值为多少 怎么算出来的?

2 x=10;y=7 z=(x^y) z值为多少 怎么算出来的?

3. x=10;y=7 z=(x|y) z值为多少 怎么算出来的?

4.i=64 ; j=i<<2 j值为多少,怎么算出来的?

5. i=64; j=i>>2 j值为多少,怎么算出来的?

6. (T)i是什么意思 能举个例子吗?

这是位运算,就是按二进制位进行计算。

1. x=10;y=7 z=(x&y)
&是按位取与。x(2)=1010,y(2)=0111,所以z(2)=0010==2;

2 x=10;y=7 z=(x^y)
^是按位异或,所以Z(2)=0101==5;

3. x=10;y=7 z=(x|y)
|是按位或,所以Z(2)=1111==15;

4.i=64 ; j=i<<2
<<是左移,左移一位相当于乘以2,所以左移2位,就是i*4==256;

5. i=64; j=i>>2
>>是右移,右移一位相当于除以2,所以右移两位,就是i/4==16;

6. (T)i
()中包含一个类型,是强制类型转换,就是把后边的变量变成括号中的类型。
如:int a=10;flaot f;则可以:f=(float)a;