杨绍武  >  计算机程序设计  >  计算机程序设计A(普6班)

邀 请 码
请询问老师

计算机程序设计A(普6班)

教师:4 学生:121 2016春季学期 国防科学技术大学

    活跃度

  • 10505?1457701151

    陈烁

    13

  • 0?1442652658

    贾兢睿

    8

  • 10679?1488795554

    张凇铭

    6

  • 0?1442652658

    王仲尧

    6

  • 11294?1520177508

    蔡鹏基

    6

  • 0?1442652658

    liuyongjun4

    6

推荐

访问计数 35101 (自2016年5月)
图像
04/05/2016 15:50
<p> 变量A、B的值互换,有同学提到还有这种方法:A^=B^=A^=B; </p> <p> 这样确实能够实现,原因如下: </p> <p> <span style="line-height:16.7999992370605px;">A^=B^=A^=B;等价于如下语句:</span> </p> <p> { </p> <p> <span style="line-height:16.7999992370605px;">&nbsp;&nbsp;&nbsp;&nbsp;A=<span style="line-height:16.7999992370605px;">A</span><span style="line-height:16.7999992370605px;">^</span>B;</span> </p> <p> <span style="line-height:16.7999992370605px;">&nbsp; &nbsp; B=B^A;</span> </p> <p> <span style="line-height:16.7999992370605px;">&nbsp; &nbsp; A=A^B;</span> </p> <p> } </p> <p> 用A和B的原始值替换上述等式右边的值,上面的语句可以合并为两条独立的语句(并列,用于计算A、B的值,但不能顺序执行): </p> <p> B=B^(<span style="line-height:16.7999992370605px;">A</span><span style="line-height:16.7999992370605px;">^</span><span style="line-height:16.7999992370605px;"></span><span style="line-height:16.7999992370605px;">B</span>) ;和 A=(<span style="line-height:16.7999992370605px;">A</span><span style="line-height:16.7999992370605px;">^</span><span style="line-height:16.7999992370605px;"></span><span style="line-height:16.7999992370605px;">B</span>)^(<span style="line-height:16.7999992370605px;">B^</span><span style="line-height:16.7999992370605px;">(<span style="line-height:16.7999992370605px;">A</span><span style="line-height:16.7999992370605px;">^</span><span style="line-height:16.7999992370605px;"></span><span style="line-height:16.7999992370605px;">B</span>)</span>); </p> <p> 再考虑异或计算的运算法则(见http://baike.baidu.com/view/674171.htm),可以得到上面两个并列的语句就相当B=A;和A=B; </p>
回复 (3)
11328?1462980485
刘翔宇 3年前
<blockquote>YoungS 写到: <br/><span class="atwho-inserted"><span class="at" data-user-id="11328"><a href="/users/11328">@刘翔宇(liuxiangyu)</a></span></span>‍&nbsp;</blockquote><span>谢谢教员</span><img src="http://www.trustie.net/assets/kindeditor/plugins/emoticons/images/13.gif" border="0" alt="" /><span>,明白是怎样个原理了。</span>

11841?1489719724
杨绍武 4年前
这个方法的问题是只适合于整型数的交换,不具有一般性。

11841?1489719724
杨绍武 4年前
<span class="atwho-inserted"><span class="at" data-user-id="11328"><a href="/users/11328">@刘翔宇(liuxiangyu)</a></span></span>‍&nbsp;

问题和建议
还能输入50个字符 Submit

加入QQ群

关注微信APP


×