码迷,mamicode.com
首页 > 移动开发 > 详细

深入理解计算机系统第二版习题解答CSAPP 2.10

时间:2014-11-16 15:54:44      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   sp   div   log   bs   as   nbsp   

对于任一位向量a,有a ^ a = 0。考虑下面的程序:

1 void inplace_swap(int *x, int *y)
2 {
3     *y = *x ^ *y;
4     *x = *x ^ *y;
5     *y = *x ^ *y;
6 }

假设x和y指向的位置分别是a和b。完成下表:

步骤 *x *y
初始 a b
第一步 a a^b
第二步 a^(a^b) a^b
第三步 a^(a^b) a^(a^b)^(a^b)

 由于异或运算满足交换率和结合率,且a ^ 0 = 0, a ^   = ~a。所以有 

步骤 *x *y
初始 a b
第一步 a a^b
第二步 b a^b
第三步 b a

深入理解计算机系统第二版习题解答CSAPP 2.10

标签:style   blog   color   sp   div   log   bs   as   nbsp   

原文地址:http://www.cnblogs.com/furzoom/p/CSAPP2_10.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!