携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第9天,点击查看活动详情
名词解释:
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
异或也叫半加[运算],其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与[加法]是相同的,只是不带进位,所以异或常被认作不进位加法。
异或略称为XOR、EX-OR
程序中有两种演算子:XOR、⊕。
使用方法如下
z = x ⊕ y
z = x xor y
^为按位异或运算
a^=b等价于a = ab,其中是位异或运算,即将a与b的对应位进行异或运算,同为0或者同为1时,对应位结果为0;否则为1。
假设,a的值为二进制的1010,b的值为二进制的1100,那么a^b = 0110
描述
输入两个正整数a和b,输出这两个正整数的和,差,积,商,模(若a>b则输出a-b,a/b,a%b的值反之输出b-a,b/a,b%a的值,不考虑小数,请使用int类型)
输入描述:
两个正整数
输出描述:
它们的和,差,积,商,模。每个值之间用空格隔开
示例1
public static void main(String[] args) {
System.out.println("请输入两位小数");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
scanner.close();
//上面的代码 基本就是输入的基本数据
//下面你的判断 先默认 a>b的时候 默认走下面程序的数据(跳过if) 符合业务逻辑
//当他在小于b的进入下面的if
//EG:a=10 2的3次方+2的1次方为=10 那么他的值为 1010
// b=20 2的四次方+2的次方 = 10100
if (a < b) {
//a=a^b a= 1010^10100= 1110 =30
a ^= b;
//b= b^a; a=30 b=20 20^30=10 b=10
b ^= a;
//a=a^b a=30 b=10 a=20 b=10 相当把位置 相当于把值位置调换
a ^= b;
}
// %d:整型输出 转换他的输出的内容为整形输出
System.out.printf("%d %d %d %d %d", a + b, a - b, a * b, a / b, a % b);
}
他的输出的结果是:
请输入两位小数
10
20
30 10 200 2 0
另一种比较简单运算方式:
if(a>b){
System.out.println((a+b)+" "+(a-b)+" "+(a*b)+" "+(a/b)+" "+(a%b));
}else{
System.out.println((a+b)+" "+(b-a)+" "+(a*b)+" "+(b/a)+" "+(b%a));
}
}