Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1575273
  • 博文数量: 399
  • 博客积分: 8508
  • 博客等级: 中将
  • 技术积分: 5302
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-14 09:28
个人简介

能力强的人善于解决问题,有智慧的人善于绕过问题。 区别很微妙,小心谨慎做后者。

文章分类

全部博文(399)

文章存档

2018年(3)

2017年(1)

2016年(1)

2015年(69)

2013年(14)

2012年(17)

2011年(12)

2010年(189)

2009年(93)

分类: LINUX

2010-08-19 15:18:19

#include
int main( void )
{
     cout<< 99/16 <>4) <>4<>4) <     return 0;
}  

结果  
6  
6  
-6  
-7

-6

其实右移和除法是有区别的:
以x/y为例,y=pow(2,m)  
对于x>=0,右移会和除法的值相等。  
对于x<0,右移和除法有偏差,可以通过修正达到正确的值:
我们在右移之前,先将x加上(1<x/y = (x < 0 ? (x + (1<> m

阅读(1332) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~