Chuyển đổi từ số thập phân về số nhị phân trong java

Thảo luận trong 'Java Core' bắt đầu bởi dangbui, 2/5/16.

  1. dangbui

    dangbui Administrator Thành viên BQT

    * Cách thức chuyển đổi:
    - Lấy số thập phân chia liên tiếp cho 2
    - Mỗi lần chia sẽ ghi số dư của phép chia đó
    - Khi thương bằng 0 thì dừng lại
    - Thực hiện viết số dư theo chiều từ dưới lên trên sẽ được số thập phân cần tìm
    Ví dụ:
    12 => số nhị phân ???
    12 / 2 = 6 dư 0
    6 / 2 = 3 dư 0
    3 / 2 = 1 dư 1
    1 / 2 = 0 dư 1
    => Số nhị phân cần tìm là: 1100
     
  2. dangbui

    dangbui Administrator Thành viên BQT

    //Khai báo biến
    int soDu = 0;
    String strSoNhiPhan = "";

    int soThapPhan = 0;

    try
    {
    soThapPhan = Integer.parseInt(txtSoThapPhan.getText());

    } catch (Exception e)
    {
    JOptionPane.showMessageDialog(rootPane, "Bạn cần phải nhập thông tin kiểu số. Chi tiết lỗi: " + e.getMessage());
    return;
    }


    List<String> lstSoNhiPhan = new ArrayList<String>();

    while(soThapPhan>0)
    {
    soDu = soThapPhan%2;

    soThapPhan = soThapPhan/2;

    //Thêm bit vào danh sách
    lstSoNhiPhan.add("" + soDu);
    }

    //Duyệt theo chiều ngược lại để lấy chuỗi số nhị phân cần tìm
    for(int i= lstSoNhiPhan.size()-1; i>=0; i--)
    {
    strSoNhiPhan += lstSoNhiPhan.get(i);
    }

    //Hiển thị kết quả
    txtSoNhiPhan.setText(strSoNhiPhan);
     

Chia sẻ trang này