C语言中有 ^ 这个运算符吗?

 我来答
帐号已注销
2021-06-22 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:161万
展开全部

有,但不太常见。

按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。还比如 m=9(二进制1001),n=12(二进制1100),那么 m ^ n的结果是5(二进制0101)。

整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。按位异或运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。

分类和级别

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。 

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)

合理使用优先级可以极大简化表达式。

以上内容参考:百度百科-C语言运算符

哼哈嗯嗯c7
推荐于2019-10-25 · TA获得超过5582个赞
知道小有建树答主
回答量:131
采纳率:91%
帮助的人:6万
展开全部

有,但不太常见。

按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。还比如 m=9(二进制1001),n=12(二进制1100),那么 m ^ n的结果是5(二进制0101)



一般常用^表示某数的几次方,C语言里没有表示“几次方”的运算符。因为C语言中的乘方可以用循环来做.比如:

#include <math.h>    //引用头文件

double pow(double x, double y)    //函数定义方法

表示求x的y次方。

例:求3.2的5次方可写成 pow(3.2 , 5)

当然,你也可以自定义函数求乘方,例:

float power( float x,int n )   //自定义乘方函数
{  int i;
float s=1.0;   //初始化变量s,用于存储最终结果值

for( i=1;i<=n;i++ )    //利用循环进行计算,n次方就是把x乘上n遍
s*=x;

return s;     //返回最终结果值
}


main()
{ // 定义变量n和x
int n;
float x;

// 准备输入数据,用来求x的n次方
printf("请输入x和n(输入时用空格或回车分隔): \n");
scanf("%f%d",&x,&n);

// 调用自定义power函数,输出最终结果
printf("\n%f的%d次方是:%f\n",x,n,power(x,n));
}

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
布天欧阳典
2019-12-17 · TA获得超过4054个赞
知道大有可为答主
回答量:3142
采纳率:29%
帮助的人:182万
展开全部
太用其运算二进制按位异或比
a=9(二进制1001)b=12(二进制1100)
a
^
b
结5(二进制0101)
般电脑文本用^表示某数几C语音没表示几运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-11-20 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式