java a=2,b=3,(--a)<<a ,--a%b==,(a>=1)&&a<=12?a:b怎么计算

最好说出计算步骤... 最好说出计算步骤 展开
 我来答
dingnaono
2014-04-03 · TA获得超过436个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:250万
展开全部

a = 2,b = 3

  •  (- -a)<<a = 4

     - -a = 1

        (- -a)<<a =1* 2^2 = 4

 

  • --a%b==

    这个式子应该是错的 == 右边要求有表达式


  • (a>=1)&&a<=12?a:b = 2

      a >= 1 = true

      a <= 12 =  true

      true&& true = true

     true ? a : b = a = 2

        

民以食安1f3e
推荐于2017-10-13 · 超过15用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:22.6万
展开全部
(--a)<<a 结果是2
--a%b==这个表达式是错的吧
(a>=1)&&a<=12?a:b结果是2

这是分开算的,因为要是同一个线程中,运行完第一个程序后a的值会发生变化,现在你的第二个表达式应该是错的吧 我看的
追问
(--a)%b++打错了,可在java中运行的结果是(a>=1)&&a<=12?a:b,(--a)<<a 分别为1,0怎么回事呀这是,还有-70的二进制编码怎么一步步算出来的
追答
三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值

a>=1)&&a=1)&&a=1)&&a<=12?a:b
这样的话执行过第一个表达式后a和b的值都会发生变化。
-70的话首先你需要知道源码,反码和补码

首先你计算出70的二进制数
源码1000110

反码0111001
补码就是反码加1
就是0111011
最后的补码就是-70
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式