import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] params = br.readLine().split(" "); int a = Integer.parseInt(params[0]), b = Integer.parseInt(params[1]); int c = a - b; int sa = sign(a); // a的符号 int sb = sign(b); // b的符号 int sc = sign(c); // c的符号 int difSab = sa ^ sb; // a与b符号不同为1,反之为0 int sameSab = 1 - difSab; // a与b符号相同为1,反之为0 int returnA = difSab * sa + sameSab * sc; // 符号相同时a大,sc=1,b大sc=0,符号不同时a为正就返回a int returnB = 1 - returnA; // 与returnA互斥,返回a就不返回b,返回b就不返回a System.out.println(returnA * a + returnB * b); } private static int sign(int num) { return 1 - ((num >> 31) & 1); // 负数返回0,正数返回1 } }
import java.util.Scanner; /** * @ClassName Main * @Description TODO * @Author Wlison * @Date 2020/4/20 15:47 * @Version 1.0 **/ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int a = sc.nextInt(); int b = sc.nextInt(); int c = (a-b)>>>31; System.out.println(a-(a-b)*c); } } }