首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >位运算

位运算

作者头像
From Zero
发布2021-02-22 11:14:17
发布2021-02-22 11:14:17
9950
举报
文章被收录于专栏:C语言C语言

位运算

符号

描述

运算规则

&

两个位都为1时,结果才为1。0&0=0 0&1=0 1&0=0 1&1=1

|

两个位都为0时,结果才为0。0|0=0 0|1=1 1|0=1 1|1=1

^

异或

两个位相同为0,相异为1。0^0=0 0^1=1 1^0=1 1^1=0

~

取反

0变1,1变0。~1=0 ~0=1

<<

左移

所有位左移若干位,高位丢弃,低位补0。(用法:a=a<<3)

>>

右移

所有位右移若干位,对无符号数,高位补0;有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

p.s.1.右移的数学意义:右移一位相当于除2,右移n位相当于除以2的n次方

​ 2.机器里存的是补码,是直接用补码进行计算的

​ 3.正数的原码、补码、反码都一样;负数的补码是反码加1

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 位运算
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档