c语言中a=a^b;这个语句是怎么计算的,举个例子说明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中a=a^b;这个语句是怎么计算的,举个例子说明相关的知识,希望对你有一定的参考价值。
参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0,1^0=1,
0^1=1,
1^1=0
例如:10100001^00010001=10110000
0^0=0,0^1=1
0异或任何数=任何数
1^0=1,1^1=0
1异或任何数-任何数取反
任何数异或自己=把自己置0
(1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。
10100001^00000110=10100111
//1010
0001
^
0x06
=
1010
0001
^
6
(2)通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现:
a=10100001,b=00000110
a=a^b;
//a=10100111
b=b^a;
//b=10100001
a=a^b;
//a=00000110
(3)异或运算符的特点是:数a两次异或同一个数b(a=a^b^b)仍然为原值a. 参考技术A 代号a等于a的原值乘以B
也就是说吧原来的a乘以b之后再次赋值给a---生成新的a
此时你使用printf输出a时,a就成了新值了
例如:a=1,b=3,
执行a=a*b后,输出a
得出a=3
--------------------------------哦,我看错了,就是将a进行b次方后的值赋给a,例如:a=2,b=3,
执行a=a^b后,输出a
得出a=8 (2的3次方) 参考技术B ^表示按位异或运算。3^6=(00000011)2^(00000110)2=(00000101)2=5。其中(00000011)2表示2进制。
//测试程序如下:
#include <stdio.h>
void main()
printf("%d\n",6^3);
本回答被提问者采纳 参考技术C //file: a.c
//gcc -lm a.c
//./a.out
#include <math.h>
#include <stdio.h>
int main( void )
double a = 2;
int b = 3;
printf("a ^ b = %.0lf\n", pow(a,b) );
return 0;
用数学库就可以了math.h 参考技术D 异或运算
比如100010^110100=010110
规则为:0^0=0
0^1=1
1^0=1
1^1=0
JAVA中&&和是啥意思 怎么用
参考技术A
&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,则结果为真。||是逻辑或,两个数任意一个为真,则结果为真。
举个例子:
1、a && b
当a、b都为真时,结果为真。有一个为假或者都为假时结果为假。
2、a || b
当a、b有一个为真时,结果为真。a、b都为假时结果为假。
扩展资料:
在java中还有其他的逻辑符号,比如:!、|、 &
“!”是非运算符号,比如a为真,则!a则为假。a如果为假,则!a为真。
而“|”也是逻辑或,“&”也是逻辑与,但是他们与“||”和“&&”有些区别,区别如下:
“&”与“|”无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断。
“&&”与“||”,前者第一个条件不成立,后面的条件均不进行判断,返回false;后者第一个条件成立,后面的条件均不进行判断,返回true。
参考技术B一、意思以及运用方法如下:
1、第一步我们首先需要了解&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,条件为真,||是逻辑或,两个数任意一个为真,条件为真,如下图所示:
2、第二步这里新建一个Test类做样例,定义a变量为true,b变量为false,输出a&&b的结果,如下图所示:
3、第三步运行项目,我们在控制台可以看到结果为false,a&&b必须a,b都为真才为真,如下图所示:
4、第四步main方法中添加一行代码,输出a||b的结果,如下图所示:
5、第五步在控制台可以看到a||b的结果为true,a||b中a,b有一个为真结果为真,如下图所示:
6、第六步&&和||运算符常用于if语句中,可以看到下面a满足大于b的条件,但是不满足大于c的条件,如果是&&,则进去else语句中,如果是||,进去if语句中,如下图所示:
二、什么是JAVA
1、Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
2、Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
以上是关于c语言中a=a^b;这个语句是怎么计算的,举个例子说明的主要内容,如果未能解决你的问题,请参考以下文章