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;
}
相关推荐
薇茗1 分钟前
【初阶数据结构】 升沉有序的平仄 排序 3
c语言·开发语言·数据结构·算法·排序算法·文件归并排序
孬甭_3 分钟前
双向链表详解
c语言·数据结构·链表
薇茗3 分钟前
【初阶数据结构】 升沉有序的平仄 排序 2
c语言·数据结构·算法·排序算法·快排精讲
安生生申4 分钟前
uni-app 连接 JDY-31 蓝牙串口模块实践
c语言·前端·javascript·stm32·单片机·嵌入式硬件·uni-app
番茄灭世神11 分钟前
Vscode开发/调试ARM单片机最新教程
c语言·arm开发·vscode·stm32·嵌入式·gd32
为何创造硅基生物9 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
仰泳之鹅9 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
jolimark10 小时前
C语言自学攻略:小白入门三步走
c语言·编程入门·学习路线·实践项目·自学攻略
cen__y11 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
社交怪人11 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言