栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

C语言:位运算

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言:位运算

位运算
  • 按位取反:~
void test0901() {
	int num = 2;
	printf("~num=%dn", ~num);//输出-3,原码+反码+1=0
}
  • 按位与:&
    全真为真,一假为假
void test0902() {
	int num = 123;
	if ((num & 1) == 1) {
		printf("num为奇数n");
	}
	else
	{
		printf("num为偶数n");
	}
}
  • 按位或:|
    全假为假,一真为真
void test0903() {
	int num1 = 5;//0101
	int num2 = 3;//0011
	printf("num1|num2=%dn", num1 | num2);//输出7(0111)
}
  • 按位异或:^
    相同为假,不同为真
void test0904() {
	int num1 = 5;
	int num2 = 9;
	
    num1 = num1 ^ num2;
    num2 = num1 ^ num2;
    num1 = num1 ^ num2;

	printf("num1=%d,num2=%d", num1, num2);
}
位移运算
  • 左移:<<
  • 右移:>>
    部分机器高位补0,部分机器高位补符号位,无符号数高位统一补0

java中右移运算符包括>>,>>>
>>:算数右移,高位补符号位
>>>:逻辑右移,高位补0

void test0905() {
	int num = 20;
	printf("num<<2=%dn", num << 2);//输出80
	printf("num>>2=%dn", num >> 2);//输出5
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号