-
Notifications
You must be signed in to change notification settings - Fork 0
/
Question20.java
63 lines (54 loc) · 2.2 KB
/
Question20.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Binary Operation
public class Question20 {
// Function to perform AND operation on two binary strings
public static String andOperation(String binary1, String binary2) {
int num1 = Integer.parseInt(binary1, 2);
int num2 = Integer.parseInt(binary2, 2);
int andResult = num1 & num2;
return Integer.toBinaryString(andResult);
}
// Function to perform OR operation on two binary strings
public static String orOperation(String binary1, String binary2) {
int num1 = Integer.parseInt(binary1, 2);
int num2 = Integer.parseInt(binary2, 2);
int orResult = num1 | num2;
return Integer.toBinaryString(orResult);
}
// Function to perform XOR operation on two binary strings
public static String xorOperation(String binary1, String binary2) {
int num1 = Integer.parseInt(binary1, 2);
int num2 = Integer.parseInt(binary2, 2);
int xorResult = num1 ^ num2;
return Integer.toBinaryString(xorResult);
}
public static String calculateBinaryOperations(String input) {
String tokens[] = input.split(" ");
String result = tokens[0];
for (int i = 1; i < tokens.length; i += 2) {
String operator = tokens[i];
String nextBinary = tokens[i + 1];
switch (operator) {
case "AND":
result = andOperation(result, nextBinary);
break;
case "OR":
result = orOperation(result, nextBinary);
break;
case "XOR":
result = xorOperation(result, nextBinary);
break;
default:
throw new IllegalArgumentException("Invalid operator: " + operator);
}
}
return result;
}
public static void main(String[] args) {
// Example input string with binary numbers and operators
String input = "1101 AND 1011 OR 0110 XOR 0101";
// Calculate the result of the binary operations
String result = calculateBinaryOperations(input);
// Print the result
System.out.println("Result of binary operations: " + result);
}
}