Showing posts with label decimal. Show all posts
Showing posts with label decimal. Show all posts

Thursday, January 7, 2016

[Java] Chuyển từ hệ thập phân sang hệ nhị phân.

Có 3 cách để chuyển một số từ hệ thập phân sang hệ nhị phân.
  1. Sử dụng phương thức toBinaryString() trong class Integer của Java.
  2. Sử dụng phương thức chuyển đổi bằng logic mà không sử dụng phương thức có sẵn của Java.
  3. Sử dụng Stack.
1. Sử dụng phương thức toBinaryString().
package simplecodecjava.blogspot.com;

public class DecimalToBinaryExample {
 public static void main(String[]args){
  int decimalNumber = 123456789;
  System.out.print("Hệ nhị phân của " + decimalNumber +" là :");
  System.out.print(Integer.toBinaryString(decimalNumber));
 }
}
Output:
Hệ nhị phân của 123456789là :111010110111100110100010101
2. Sử dụng chuyển đổi bằng logic.
package simplecodecjava.blogspot.com;

public class DecimalToBinaryExample {
 
 public void convertBinary(int num){
      int binary[] = new int[40];
      int index = 0;
      while(num > 0){
        binary[index++] = num%2;
        num = num/2;
      }
      for(int i = index-1;i >= 0;i--){
        System.out.print(binary[i]);
      }
   }
  
 public static void main(String[]args){
  int decimalNumber = 123456789;
  System.out.print("Hệ nhị phân của " + decimalNumber +" là :");
  new DecimalToBinaryExample().convertBinary(decimalNumber);
 }
}
Output:
Hệ nhị phân của 123456789 là :111010110111100110100010101
3. Sử dụng Stack.
package simplecodecjava.blogspot.com;

import java.util.Stack;

public class DecimalToBinaryExample {
 
 public void convertBinary(int num){
  Stack<Integer> stack = new Stack<Integer>();
     while(num != 0){
      //thực hiện phép chia lấy phần dư cho 2.
      int d = num%2;
      // thêm vào stack.
      stack.push(d);
      num/=2;
     }
     while(!(stack.isEmpty())){
      System.out.print(stack.pop());
     }
     
   }
  
 public static void main(String[]args){
  int decimalNumber = 123456789;
  System.out.print("Hệ nhị phân của " + decimalNumber +" là :");
  new DecimalToBinaryExample().convertBinary(decimalNumber);
 }
}
Output:
Hệ nhị phân của 123456789 là :111010110111100110100010101