文档章节

位运算符

304158
 304158
发布于 2017/09/07 16:09
字数 473
阅读 4
收藏 0

1.与&运算符

int 3 内存为 0000 0011

int 4 内存为 0000 0100

运算 int 3 & int 4 = 0 内存为 0000 0000 

&运算符 如果对应的上下bit位都为1&计算后才为1,如果对应bit上下有一个为0,那么上下bit&后为0

#include<stdio.h>
#include<stdlib.h>


void main(void) 
{
	int a = 3;  //0000 0011
	int b = 4;  //0000 0100
	int c = a&b;//0000 0000
	printf("%d",c);

	getchar();
}

2.或|运算符

int 4 内存为 0000 0100

int 6 内存为 0000 0110

运算 int 4 | int 6= 6 内存为 0000 0110

|运算符,上下bit对应位,只要一个为1那么就是1,上下bit都为0时才是0

#include<stdio.h>
#include<stdlib.h>


void main(void) 
{
	int a = 4;  //0000 0100
	int b = 6;  //0000 0110
	int c = a|b;//0000 0110
	printf("%d",c);

	getchar();
}

3.^异或运算符

int 5 内存为 0000 0101

int 6 内存为 0000 0110

运算 int 5 ^ int 6= 3 内存为 0000 0011

^运算符,上下对应bit位必须是0和1的组合才能为1,如果上下对应bit位是相同的值那么为0。

#include<stdio.h>
#include<stdlib.h>


void main(void) 
{
	int a = 5;  //0000 0101
	int b = 6;  //0000 0110
	int c = a^b;//0000 0011
	printf("%d",c);

	getchar();
}

4.<<左移运算符

int 2 内存为 0000 0010

int 1 内存为 0000 0001

运算 int 2 << int 1 = 4 内存为 0000 0100

<<左移运算符,就是把 int 2的内存位往前移动一个int 1就是 4 内存为 0000 0100 就是前进一位,然后补0

#include<stdio.h>
#include<stdlib.h>


void main(void) 
{
	int a = 2;     //0000 0010
	int b = 1;     //0000 0001
	int c = a << b;//0000 0100

	printf("%d",c);

	getchar();
}

5.>>右移运算符

例如

int 8 内存为 0000 1000

int 2 内存为 0000 0010

运算 int 8 >> int 2 =2  0000 0010

>>右移运算符,是把int 8 的内存位往右移动 2 位其余补0

#include<stdio.h>
#include<stdlib.h>


void main(void) 
{
	int a = 8;     //0000 1000 
	int b = 2;     //0000 0010
	int c = a >> b;//0000 0010

	printf("%d",c);

	getchar();
}

 

© 著作权归作者所有

共有 人打赏支持
304158
粉丝 1
博文 105
码字总数 30016
作品 0
大兴安岭
私信 提问

暂无文章

Python监控服务器实现邮件微信报警[未测试]

本文中笔者暂时实现的只有cpu和内存的监控,python可以监控许多的主机信息,网络,硬盘,机器状态等,以下是代码的实现,代码可以实现windows和linux的监控。 实验环境:Ubuntu16.04和windo...

dragon_tech
11分钟前
0
0
Spring Boot 返回 JSON 数据,一分钟搞定!

在 WEB 项目中返回 JSON 数据是常见的交互形式,在 Spring Boot 中这一切都变得十分简单。So easy!!! 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启...

Java技术栈
17分钟前
0
0
保护Hadoop集群三大方法

大约在两年前,开源数据库解决方案MongoDB以及Hadoop曾遭受过大量恶意攻击,这些攻击后被统称为“勒索软件”,因为其攻击者会擦除或加密数据,然后向被攻击者索要资金以恢复数据。自今年以来...

linuxCool
24分钟前
1
0
开源 java CMS - FreeCMS2.8会员我的留言

项目地址:http://www.freeteam.cn/ 我的留言 从左侧管理菜单点击我的留言进入。在这里可以查看当前登录会员的所有留言记录。 查看留言 点击留言标题可以查看留言详细内容。 删除留言 选择留...

freeteam
43分钟前
2
0
OSChina 周五乱弹 —— 这就是不要女朋友的理由

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @狄安娜的猫 :分享丁家鑫的单曲《丁家鑫 - 克罗地亚狂想曲 - 古筝remix》 《丁家鑫 - 克罗地亚狂想曲 - 古筝remix》 手机党少年们想听歌,请...

小小编辑
今天
898
22

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部