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

C语言之位运算、逗号运算、类型转换运算

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

C语言之位运算、逗号运算、类型转换运算

1.位与运算

表达式:

操作数1&操作数2

注释:按位与运算是将参与运算的两个数据按对应的二进制数逐位进行逻辑与运算。当两个操作对象二进制数的相同位均为1时,结果数值的相应位为1,否则为0。

 例题:用一个32位整数存储一个32门开关电路状态。

例:0000 0000 0000 0001说明第一个开关是开;

0000 0000 0000 0010说明第二个开关是开。

#include
#include
#include
int main()
{
	int a;
	scanf("%d",&a);
	bool ret;
	ret=a&1;//如果ret=true第一个开关开
	printf("n%d",ret);
	ret=a&2;//如何ret=true第二个开关开
	printf("n%d",ret);
	ret=a&4;//如何ret=true第三个开关开
	printf("n%d",ret);
    return 0;
}

 2.位或运算

表达式:

操作数1|操作数2

当两个对象二进制数的相同位均为0时,结果数值的相应位为0,否则为1。

#include
#include
#include
int main()
{
	int a,ret;
	scanf("%d",&a);
	ret=a|1;
	printf("n%d",ret);
	ret=a|2;
	printf("n%d",ret);
	ret=a|4;
	printf("n%d",ret);
	return 0;
 } 

 3.位异或运算

表达式:

操作数1^操作数2

 当两个二进制数的相同位互不相同的时候,对应位的结果为1,否则为0。

#include
#include
#include
int main()
{
	int a,ret;
	scanf("%d",&a);
	ret=a<1;
	printf("n%d",ret);
	ret=a<2;
	printf("n%d",ret);
	ret=a<4;
	printf("n%d",ret);
	return 0;
}

 3.条件表达式

求绝对值:

#include
#include
#include
int main()
{
	float x,absx;
	scanf("%f",&x);
	absx=x>0?x:-x;
	printf("|%f|=%f",x,absx);
	return 0;
}

 absx=x>0?x:-x;,当x>0时,输出x,否则输出-x。

4.逗号运算

逗号运算:所有运算中,逗号运算的优先级最低;从左到右,依次结算各个操作数,并将最后一个操作数n的值作为整个逗号表达式的值。

#include
int main()
{
	int a=100,b=0;
    printf("逗号运算:b=%d",b=(a=10,100));
	return 0; 
}

 b=100

5.类型转换运算

转换数值的类型

#include
int main()
{
	float a=12.34;
	printf("类型转换运算:%d",(int)a);
	return 0;
}

数值类型转化为int整数型,因此输出12。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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