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;
}
相关推荐
人邮异步社区7 小时前
怎么把C语言学到精通?
c语言·开发语言
xiaobobo333012 小时前
C语言中宏定义宏名和宏值之间的关系
c语言·宏定义·语义型
a44931536215 小时前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑
a44931536217 小时前
iPhone 充电故障的全链路诊断——从 Lightning/USB-C 接口到 Tristar 充电 IC
c语言·macos·ios·电脑·硬件架构·iphone
qq_4480111617 小时前
C语言中的getchar()
c语言·开发语言
天空'之城17 小时前
C 语言工业级通用组件手写 15:累加和校验
c语言·嵌入式开发·工业级组件·累加和校验
碎光拾影1 天前
i.MX6ULL时钟系统配置指南
c语言·arm开发·嵌入式硬件
GeekArch1 天前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
wuyk5551 天前
59.嵌入式C语言高级宏定义实战:多行宏、字符串化与符号拼接
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·51单片机
无相求码2 天前
C程序的内存到底怎么分的?栈、堆、全局区一张图讲清楚
c语言