首页 > 移动平台 > 详细

csapp2e homework 2.77

时间:2014-12-11 22:28:44      阅读:552      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
#define debug_print(x) printf(#x"\t%d\n",x)

int divide_power2(int x,int k)
{
	int w = sizeof(int) << 3;
	int sign = x >> (w - 1) ;
	int result;
	( sign == 0 && (result = (x >> k)) ) || ( sign == -1 && (result = ((x + (1 << k)-1)>> k)) );
	return  result;
}

int main()
{
	debug_print(100>>3);
	debug_print(divide_power2(100,3));
	debug_print(-100>>3);
	debug_print(divide_power2(-100,3));
	return 0;
}

csapp2e homework 2.77

原文:http://blog.csdn.net/u012769069/article/details/41874047

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