【2017年整理】C,C++位的移位操作

上传人:豆浆 文档编号:987684 上传时间:2017-05-24 格式:DOC 页数:2 大小:16KB
返回 下载 相关 举报
【2017年整理】C,C++位的移位操作_第1页
第1页 / 共2页
【2017年整理】C,C++位的移位操作_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《【2017年整理】C,C++位的移位操作》由会员分享,可在线阅读,更多相关《【2017年整理】C,C++位的移位操作(2页珍藏版)》请在金锄头文库上搜索。

C/C+位的移位操作 左移与右移1.左移运算符()是双目运算符,其功能是把运算符左边的运算数的各二进位全部右移若干位,移动的位数按运算符右边的数指定。在进行右移时对于有符号的数需要注意符号问题,当为正数时,最高位补 0,而为负数时,最高位补 0 或 1 取决于编译系统的规定,移入 0 的称为逻辑右移 ,移入 1 的称为算术右移。Int x= 3;3 的二进制为:00000011 右移 1 位后为 00000001Int a= X1 此时 a = 1; 将 0x12345678 转换为 0x78563412#includeint main()unsigned int a =0x12345678unsigned int b,c,d,e;unsigned char *p =(unsigned char*)&a;b =(*p)24;/将低字节的数据左移 24 位即 3 个字节将 78 移动到 12 位置c = *(p+1)16;d = *(p+2)8;e = *(p+3);printf(b=%0x,c=%0x,d=%0x,e=%0xn,b,c,d,e);a =b+c+d+e;printf(“a=0x%0xn”,a);return 0;运行结果如下:b=78000000,c=560000,d=3400,e=12a=0x78563412

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号