当前位置:网站首页>按位逻辑运算符
按位逻辑运算符
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
边栏推荐
- Ruffian Heng embedded bimonthly, issue 49
- [luatos-air551g] 6.2 repair: restart caused by line drawing
- Step by step guide to setting NFT as an ens profile Avatar
- Leetcode skimming (5.29) hash table
- Is it safe to open an account in Zheshang futures?
- 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
- Configuring OSPF load sharing for Huawei devices
- C语言自定义类型:结构体
- Mobile Test Engineer occupation yyds dry goods inventory
- Migrate data from a tidb cluster to another tidb cluster
猜你喜欢
2022.02.13 - NC002. sort
JVM 快速入门
【刷题】牛客网面试必刷TOP101
C语言 - 位段
Pointer advanced --- pointer array, array pointer
Chinese Remainder Theorem (Sun Tzu theorem) principle and template code
Golang DNS write casually
pcd转ply后在meshlab无法打开,提示 Error details: Unespected eof
Cisp-pte practice explanation
IoT -- 解读物联网四层架构
随机推荐
ESP series pin description diagram summary
2022 Inner Mongolia latest construction tower crane (construction special operation) simulation examination question bank and answers
Make learning pointer easier (3)
ROS编译 调用第三方动态库(xxx.so)
JS select all and tab bar switching, simple comments
Verrouillage [MySQL]
Wincc7.5 download and installation tutorial (win10 system)
Résumé des diagrammes de description des broches de la série ESP
tree树的精准查询
Step by step guide to setting NFT as an ens profile Avatar
备份与恢复 CR 介绍
Leetcode question brushing (5.31) string
【刷题】牛客网面试必刷TOP101
Golang force buckle leetcode 1020 Number of enclaves
MFC sends left click, double click, and right click messages to list controls
Research and investment forecast report of citronellol industry in China (2022 Edition)
leetcode刷题 (5.28) 哈希表
Summary of phased use of sonic one-stop open source distributed cluster cloud real machine test platform
Summary of MySQL index failure scenarios
【MySQL】锁