当前位置:网站首页>按位逻辑运算符
按位逻辑运算符
2022-07-06 08:22:00 【踏破铁鞋无觅处,bug一写一上午】
一、按位取反:~
在计算机中,数据都是按照二进制进行存储的,即便有了原码、反码、补码。而二进制数在内存中是以补码的形式存储的。
按位取反是将补码的每一位都取反,即0变1,1变0;
#include <stdio.h>
int main()
{
char a = 5;
printf("%d", ~a);
return 0;
}
结果为-6;
正整数:5
正数的原码、反码、补码相同:00000101
按位取反:11111010 //此时取反的结果为原码,还需要将其转化为补码
反码:10000101
补码:10000110
结果:-6
负整数:-5
原码:10000101
反码:11111010
补码:11111011
按位取反:00000100 //此时取反的结果为原码,因为原码为正数,原反补相同
结果:4
正数按位取反等于其本身+1的负数
负数按位取反等于其本身+1的正数
0按位取反为-1
二、按位与:&
[规则]
0&0=0
0&1=0
1&0=0
1&1=1
#include <stdio.h>
int main()
{
char a = 5,b=9;
char c = a&b;
printf("%d", c);
return 0;
}
结果为1
5的补码:00000101
9的补码:00001001
按位与后结果:00000001 //此时的结果为原码,因为原码为正数,原反补相同
结果:1
三、按位或:|
[规则]
0|0=0
0|1=1
1|0=1
1|1=1
#include <stdio.h>
int main()
{
char a = 5,b=9;
char c = a|b;
printf("%d", c);
return 0;
}
结果为13
5的补码:00000101
9的补码:00001001
按位或后结果:00001101 //此时的结果为原码,因为原码为正数,原反补相同
结果:13
四、按位异或:^
[规则]
0^0=0
0^1=1
1^0=1
1^1=0
#include <stdio.h>
int main()
{
char a = 5,b=9;
char c = a^b;
printf("%d", c);
return 0;
}
结果为12
5的补码:00000101
9的补码:00001001
按位与或后结果:00001100 //此时的结果为原码,因为原码为正数,原反补相同
结果:12
边栏推荐
- 从 CSV 文件迁移数据到 TiDB
- [research materials] 2022 China yuancosmos white paper - Download attached
- Sort according to a number in a string in a column of CSV file
- logback1.3. X configuration details and Practice
- Introduction to number theory (greatest common divisor, prime sieve, inverse element)
- Make learning pointer easier (3)
- Restore backup data on S3 compatible storage with tidb lightning
- sys. argv
- [research materials] 2021 Research Report on China's smart medical industry - Download attached
- Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation
猜你喜欢
Easy to use tcp-udp_ Debug tool download and use
What is the use of entering the critical point? How to realize STM32 single chip microcomputer?
Pyqt5 development tips - obtain Manhattan distance between coordinates
Let the bullets fly for a while
JVM performance tuning and practical basic theory - Part 1
【MySQL】鎖
wincc7.5下载安装教程(Win10系统)
Yyds dry goods inventory three JS source code interpretation eventdispatcher
[cloud native topic -45]:kubesphere cloud Governance - Introduction and overall architecture of enterprise container platform based on kubernetes
IP lab, the first weekly recheck
随机推荐
图像融合--挑战、机遇与对策
China polyether amine Market Forecast and investment strategy report (2022 Edition)
pcd转ply后在meshlab无法打开,提示 Error details: Unespected eof
在 uniapp 中使用阿里图标
Erc20 token agreement
从表中名称映射关系修改视频名称
From monomer structure to microservice architecture, introduction to microservices
Configuring OSPF load sharing for Huawei devices
2022.02.13 - NC004. Print number of loops
Introduction to number theory (greatest common divisor, prime sieve, inverse element)
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
matplotlib. Widgets are easy to use
【MySQL】鎖
使用 TiDB Lightning 恢复 S3 兼容存储上的备份数据
Analysis of pointer and array written test questions
leetcode刷题 (5.28) 哈希表
All the ArrayList knowledge you want to know is here
CISP-PTE实操练习讲解
VMware 虚拟化集群
面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读