C语言计算问题
4个回答
展开全部
答案是22.。
t=(++i)+(++i)+(++i)=6+8+8=22。。
为什么呢。这是v
c++编译器
的特性。就是最后两个数的优先级是相同的。。这样说起来有点抽象。举几个例子您自己去琢磨吧。。
这是因为31=6+7+9+9。。
这是因为41=6+7+8+10+10
这是因为52=6+7+8+9+11+11。。
我只能这样解释了。。什么看不懂的再问我吧。。嘿嘿。
t=(++i)+(++i)+(++i)=6+8+8=22。。
为什么呢。这是v
c++编译器
的特性。就是最后两个数的优先级是相同的。。这样说起来有点抽象。举几个例子您自己去琢磨吧。。
这是因为31=6+7+9+9。。
这是因为41=6+7+8+10+10
这是因为52=6+7+8+9+11+11。。
我只能这样解释了。。什么看不懂的再问我吧。。嘿嘿。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言里以0开头的数表示是八进制数,那么,八进制转换成二进制的方法是,一个八进制位占3个二进制位
如果用二进制表示那么
x=001011
y=010101
z=000001
~z=111110
&的优先级高于^,,,^优先级高于|
y&z=000001,.x|y&z=001011,即十进制的11,所以第一个用%d输出的是11
y&~z=010100,.x|y&~z=011111,十进制的31
y&~z=010111,x^y&~z=011111,十进制的31
如果用二进制表示那么
x=001011
y=010101
z=000001
~z=111110
&的优先级高于^,,,^优先级高于|
y&z=000001,.x|y&z=001011,即十进制的11,所以第一个用%d输出的是11
y&~z=010100,.x|y&~z=011111,十进制的31
y&~z=010111,x^y&~z=011111,十进制的31
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先x,y,z都是八进制的数,这里面的运算都是用二进制的所以化为二进制是x=00001011,y=0010101,
z
=
00000001(用八位表示,不足八位的用0补足)
(1)先进行与运算再进行或运算即(x|(y&z))
00001011
|
(00010101
&00000001)
=
(00001011)=
11(十进制)
(2)先进行取反再进行与运算,最后或运算即(x|(y&(~z))
00001011|(00010101&(~00000001))=00011111
=
31(十进制)
(3)先进行取反再进行与运算,最后进行异或运算即(x^(y&(~z))
00001011^(00010101&(~00000001))=00011111=31(十进制)
z
=
00000001(用八位表示,不足八位的用0补足)
(1)先进行与运算再进行或运算即(x|(y&z))
00001011
|
(00010101
&00000001)
=
(00001011)=
11(十进制)
(2)先进行取反再进行与运算,最后或运算即(x|(y&(~z))
00001011|(00010101&(~00000001))=00011111
=
31(十进制)
(3)先进行取反再进行与运算,最后进行异或运算即(x^(y&(~z))
00001011^(00010101&(~00000001))=00011111=31(十进制)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求反运算
求反运算符~为单目运算符,具有右结合性。
其功能是对参与运算的数的各二进位按位求反。例如~9的运算为:
~(0000000000001001)结果为:1111111111110110
按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下:
00001001|00000101
00001101
(十进制为13)可见9|5=13
按位与运算
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1
,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下:
00001001
(9的二进制补码)&00000101
(5的二进制补码) 00000001
(1的二进制补码)可见9&5=1。
求反运算符~为单目运算符,具有右结合性。
其功能是对参与运算的数的各二进位按位求反。例如~9的运算为:
~(0000000000001001)结果为:1111111111110110
按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下:
00001001|00000101
00001101
(十进制为13)可见9|5=13
按位与运算
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1
,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下:
00001001
(9的二进制补码)&00000101
(5的二进制补码) 00000001
(1的二进制补码)可见9&5=1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询