Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Subtraction {
- int flag = 0;
- StringBuffer add(StringBuffer s1,StringBuffer s2) {
- StringBuffer s3=new StringBuffer();
- System.out.println("N1 IN BINARY IS : "+s1+"\nN2 IN BINARY IS : "+s2);
- s1=s1.reverse();
- s2=s2.reverse();
- int len=s1.length()>s2.length()?s1.length():s2.length();
- while(s1.length()<(len)) {
- s1.append("0");
- }
- while(s2.length()<(len)) {
- s2.append("0");
- }
- for (int i = 0; i < s1.length(); i++) {
- if (flag == 0) {
- if (s1.charAt(i) == '0' && s2.charAt(i) == '0')
- s3.append("0");
- if (s1.charAt(i) == '1' && s2.charAt(i) == '0')
- s3.append("1");
- if (s1.charAt(i) == '0' && s2.charAt(i) == '1')
- s3.append("1");
- if (s1.charAt(i) == '1' && s2.charAt(i) == '1') {
- flag = 1;
- s3.append("0");
- }
- } else {
- if (s1.charAt(i) == '0' && s2.charAt(i) == '0') {
- s3.append("1");
- flag = 0;
- }
- if (s1.charAt(i) == '1' && s2.charAt(i) == '0') {
- s3.append("0");
- flag = 1;
- }
- if (s1.charAt(i) == '0' && s2.charAt(i) == '1') {
- s3.append("0");
- flag = 1;
- }
- if (s1.charAt(i) == '1' && s2.charAt(i) == '1') {
- flag = 1;
- s3.append("1");
- }
- }
- }
- return s3;
- }
- public static void main(String[] args) {
- Scanner sc=new Scanner(System.in);
- Subtraction sub=new Subtraction();
- System.out.println("Enter the two numbers : ");
- int a=sc.nextInt();
- int b=sc.nextInt();
- int bothNegative=0;
- if(a<0&&b<0)
- bothNegative=1;
- StringBuffer s1=new StringBuffer(Integer.toBinaryString(a));
- StringBuffer s2=new StringBuffer(Integer.toBinaryString(b));
- StringBuffer s3=sub.add(s1, s2);
- String s4=new String (s3.reverse());
- long l = Long.parseLong(s4, 2);
- int i=(int)l;
- System.out.println("THE ANSWER IS : "+i);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment