首页 > 移动平台 > 详细

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

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

对于任一位向量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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!