728x90 AdSpace

Latest News
Saturday, February 10, 2018

Chuyển đổi hệ cơ số trong java

Bài toán

1. Chuyển đổi số nguyên N từ hệ cơ số 10 sang hệ cơ số B bất kỳ.
2. Chuyển đổi hệ cơ số B sang hệ cơ số 10 bất kỳ.

Cách chuyển đổi hệ cơ số

  • Chuyển đối hệ cơ số 10 sang hệ cơ số B
  • Chuyển đối hệ cơ số B sang hệ cơ số 10Chuyển đối hệ cơ số 10 sang hệ cơ số B
  • Cách chuyển đổi số nguyên N từ hệ cơ số 10 sang hệ cơ số 2, trong ảnh dưới đây là ví dụ chuyển số 15 và số 6 sang hệ cơ số 2:
    1. Gán m = 15.
    2. Put phần dư m chia cho 2 (m % 2) vào stack.
    3. Gán m = m / 2.
    4. Nếu m > 0 quay lại bước 2.
    5. Đảo ngược lại stack ta được số cần tính.

Các hệ số khác chuyển đổi tương tự.

Ví dụ chuyển đối hệ cơ số 10 sang hệ cơ số B

Giả sử hệ cơ số cần chuyển là 2 <= B <= 16. Số đại điện cho hệ cơ số B > 10 là A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Chúng ta tạo ra một chương trình như sau để chuyển đổi hệ cơ số trong java:
public class ConvertNumber {
    public static final char CHAR_55 = 55;
    /**
     * main
     *
     * @author viettuts.vn
     * @param args
     */
    public static void main(String[] args) {
        int n = 15;
        System.out.println("So " + n + " trong he co so 2 = "
                + ConvertNumber.convertNumber(n, 2));
        System.out.println("So " + n + " trong he co so 16 = "
                + ConvertNumber.convertNumber(n, 16));
    }
     
    /**
     * chuyen doi so nguyen n sang he co so b
     *
     * @author viettuts.vn
     * @param n: so nguyen
     * @param b: he co so
     * @return he co so b
     */
    public static String convertNumber(int n, int b) {
        if (n < 0 || b < 2 || b > 16 ) {
            return "";
        }
         
        StringBuilder sb = new StringBuilder();
        int m;
        int remainder = n;
         
        while (remainder > 0) {
            if (b > 10) {
                m = remainder % b;
                if (m >= 10) {
                    sb.append((char) (CHAR_55 + m));
                } else {
                    sb.append(m);
                }
            } else {
                sb.append(remainder % b);
            }
            remainder = remainder / b;
        }
        return sb.reverse().toString();
    }
}
Kết quả:
So 15 trong he co so 2 = 1111
So 15 trong he co so 16 = F

Chuyển đối hệ cơ số B sang hệ cơ số 10

Trong ảnh dưới đây là ví dụ về chuyển đổi hệ cơ số 2 sang hệ cơ số 10.

Các hệ cơ số khác tương tự.
  • Blogger Comments
  • Facebook Comments

0 comments:

Post a Comment

Item Reviewed: Chuyển đổi hệ cơ số trong java Rating: 5 Reviewed By: Genm