C语言学习02—位运算

1.符号~为按位求反,优先级为1

例:~0101->1010

2.符号<<为左移,高位移出,低位补0,优先级为2

例:0011<<1->0110

3.符号>>为右移,低位移出,高位补符号位,优先级为2

例:0101>>2->0001

4.符号&为按位与,优先级为3

例:0111&1100->0100

5.符号^为按位异或,相同为0,不同为1,优先级为4

例:0111^1100->1011

6.符合|为按位或,优先级为5

例:0111|1100->1111

7.运算优先级

(1)正负号>逻辑非>按位取反

(2)乘除>加减>按位左右移

(3)大小比较运算>相等比较运算

(4)按位与>按位异或>按位或

(5)逻辑与>逻辑或

(6)赋值操作

注:浮点数不能做位运算

8.char是字符型,本质是整型数,一个字节的整型,将char型赋给整型,打印出来对应字符的ASCII码值

复制代码
#include <stdio.h>
int main(){
	char c='A';
	short a=c;
	int b=c;
	printf("c=%c\n",c); //A
	printf("c=%d\n",c); //65
	printf("a=%d\n",a); //65
	printf("b=%d\n",b); //65
	
	c=0x40; //十六进制
	printf("c=%x\n",c); //40 %x表示输出类型为十六进制
	printf("c=%d\n",c); //64
	
	c=c<<1;
	printf("c=%d\n",c); //-128
	return 0;
}
相关推荐
是隼人30 分钟前
buuctf-pwn [HarekazeCTF2019]baby_rop2(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
wuyk5552 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
AAA代码批发商4 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
卢锡荣5 小时前
单芯掌控多口互联|乐得瑞 LDR6020 PD3.1 多通道 Type‑C 控制 SOC 芯片
c语言·开发语言
wuminyu6 小时前
JVM锁膨胀与Futex源码解析
java·linux·c语言·jvm·c++
susplus6 小时前
【HTTP协议】HTTP介绍及基础【C语言爬虫实现】
c语言·爬虫·http·万维网
xx~t7 小时前
嵌入式——Linux软件编程——数据库
linux·c语言·数据库·oracle·sqlite
水饺编程7 小时前
第5章,[Win32 章节] :圆角矩形教学插图绘制程序
c语言·c++·windows·visual studio
是隼人7 小时前
buuctf-pwn PWN4(双引号的转义缺陷)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
码行山野赴时序归途7 小时前
C 语言文件操作完全指南:从打开到关闭
c语言·开发语言