当前位置:网站首页>异或运算符简单逻辑运算 a^=b

异或运算符简单逻辑运算 a^=b

2022-06-25 21:50:00 你若不离不弃,我必生死相依

^为按位异或运算

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));
    }
}
原网站

版权声明
本文为[你若不离不弃,我必生死相依]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42055933/article/details/125440298

随机推荐