c语言位运算说明加举例.doc_第1页
c语言位运算说明加举例.doc_第2页
c语言位运算说明加举例.doc_第3页
c语言位运算说明加举例.doc_第4页
c语言位运算说明加举例.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

请记住:计算机存储的是源码 但是在运算的时候使用补码进行运算-89 按两字节来运算 先得到二进制的数0x59-b 0101 1001源码1000 0000 0101 1001反码 符号位不变,其他位按位取反1111 1111 1010 0110补码 +11111 1111 1010 0111再把这个数取回源码先得到反1000 0000 0101 1000再得到补+1 得到源1000 0000 0101 1001& 按位与 逻辑上这个符号与 & 相似 (全是真才为真)0100 10000110 1001 相 & 得到0100 100087 & -23 得到0x570000 0000 0101 0111-23 的 补码为0x17-b0001 01111000 0000 0001 01111111 1111 1110 1000 =反码1111 1111 1110 1001 =补码0000 0000 0101 01111111 1111 1110 10010000 0000 0100 0001 =最后得到的是这个| 按位或 逻辑跟这个|符号相似 (有一个为真就为真)1010 10101110 1100 相 | 得到1110 1110 56 | -14 0x380000 0000 0011 1000-14-b 0000 11101000 0000 0000 11101111 1111 1111 00011111 1111 1111 00100000 0000 0011 10001111 1111 1111 00101111 1111 1111 10101000 0000 0000 0101 =取反 1000 0000 0000 0110 =这是得到的源码 符号为不变 这是-6 按位取反 逻辑跟 ! 相似 对一个数取反得到的是它的相反数在减1 50000 0101 1111 10101000 01011000 0110-63 = -4 (-5) = 40000 00111111 1100 取反 这个是补码1000 0011 得到反码1000 0100 源码0000 01011111 10101111 1011 这里是取反+10000 0100 异或 不同为一相同为零0010 11000011 0010 0001 1110 18 -320x120000 0000 0001 00101000 0000 0010 0000 -320000 0000 0001 00101111 1111 1110 0000 -32的补码1111 1111 1111 0010 得到的这个也是补码1000 0000 0000 11011000 0000 0000 1110 这个是源码计算 a = a bb = a ba = a ba = -17 b = 30a = a b1000 0000 0001 0001 -17源码1111 1111 1110 1111 补码0000 0000 0001 1110 1111 1111 1111 0001 这是补码b = a b1111 1111 1111 0001 新A0000 0000 0001 1110 1111 1111 1110 1111 新Ba = a b1111 1111 1111 0001 1111 1111 1110 1111 0000 0000 0001 1110 30 1000 0000 0001 0001 -17 这是对新B取反得到ayub = o_a o_b;n_b = ayub b = o_a;n_a = a b = ayub n_b = ayub o_a = o_b; 上面 ayub的意思是 ab的区别 左移 8 2 0000 0000 0000 1000000000 0000 0010 00最前面的两位被取消掉 后面的两位补零0000 0000 0010 0000 得到321 1 0000 0000 0000 00010000 0000 0000 0010 22 20000 0000 0000 00100000 0000 0000 1000 4-3 右移 大多数情况下 正数右移一位最前一位补0 负数最前面一位补1-2 11000 0000 0000 00101111 1111 1111 11011111 1111 1111 1110 这是补码1111 1111 1111 1111 补码向左移一位1000 0000 0000 0001 -1点亮某一位 用 | 如: 0 - 31位0111 0011 1100 10000000 0000 0000 0100 |0111 0011 1100 010

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论