博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

cnsLinux博客

操作系统|编程语言|服务器|网络|防火墙|安全|路由|数据库|备份|日志|IT|电子邮件|流媒体|健康|医院|求职|招聘|工作|人才|空间Linux|C|C++|Java|Python|PHP|SQL|类库|网页|office|英语
  cnscn2008.cublog.cn

关于作者
作者:cnscn 
QQ: 214363570
MSN:cnscn@163.com
主页:http://www.cnscn.org    

文章要有质量...
|| << >> ||
我的分类


C/C++移位操作
[cnscn@localhost ~]$ cat bits.cpp
#include <iostream>

using namespace std;

int main()
{
   //定义无符号型变量,字面量应尽量带标志u或U
   unsigned short number = 16387U;

   cout << (number<<3)  //左移n位相当于乘以2的n次方, 这里相当于乘以2的3次方8
        << " "
        << (number>>2)  //左移n位相当于除以2的n次方, 这里相当于除以2的3次方8
        <<endl;
   return 0;
}

[注] 这里用的是无符号短整型,有符号数的操作负数右移时,左边突出的高位一般全设为1,而正数则设为0,不过也因编译器而不同,所以一般要使用无符号型

[cnscn@localhost ~]$ g++ bits.cpp
 
[cnscn@localhost ~]$ ./a.out
131096 4096

发表于: 2007-09-27,修改于: 2007-09-27 17:09,已浏览1290次,有评论1条 推荐 投诉


网友评论
网友: 本站网友 时间:2007-09-27 17:34:10 IP地址:211.167.237.★
test

 发表评论