VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • Python
  • Java WS
  • MyBatis
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • PHP
    • CSS
    • HTML
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Selenium Test
    • Lập trình C
    • Lập trình C++
  • Tuyển Dụng
C Cơ Bản String Trong C Xử Lý File Trong C

Bài Tập C Kinh Điển

Dãy số Fibonacci trong C Check số nguyên tố trong C Tính giai thừa trong C Chuyển đổi hệ cơ số trong C

Bài Tập C Cơ Bản

Bai1 - giải phương trình bậc 2 Bai2 - Tìm UCLN và BCNN Bai3 - Liệt kê tất cả số nguyên tố nhỏ hơn n Bai4 - Liệt kê n số nguyên tố đầu tiên Bai5 - Liệt kê tất cả số nguyên tố có 5 chữ số Bai6 - Phân tích số nguyên Bai7 - Tính tổng của các chữ số của một số nguyên Bai8 - Số thuận nghịch Bai9 - Fibonacci nhỏ hơn n là nguyên tố

Bài Tập C Nâng Cao

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


Tính giai thừa trong C
Giải phương trình bậc 2 trong C

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ố 10

Chuyể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.
Chuyển đổi hệ cơ số trong C

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 C:

/**
 * Chuong trinh chuyen doi he co so trong C
 * Bai tap nay su dung bang ASCII de chuyen doi so nguyen thanh kieu ky tu
 * Link tham khao: https://vi.wikipedia.org/wiki/ASCII
 *  
 * @author viettuts.vn
 */

#include<stdio.h>

const char CHAR_55 = 55;
const char CHAR_48 = 48;

/**
 * chuyen doi so nguyen n sang he co so b
 * 
 * @author viettuts.vn
 * @param n: so nguyen
 * @param b: he co so
 */
int convertNumber(int n, int b) {
    if (n < 0 || b < 2 || b > 16 ) {
        printf("He co so hoac gia tri chuyen doi khong hop le!");
        return 0;
    }
    int i;
    char arr[20];
    int count = 0;
    int m;
    int remainder = n;
    while (remainder > 0) {
        if (b > 10) {
            m = remainder % b;
            if (m >= 10) {
                arr[count] = (char) (m + CHAR_55);
                count++;
            } else {
                arr[count] = (char) (m + CHAR_48);
                count++;
            }
        } else {
            arr[count] = (char) ((remainder % b) + CHAR_48);
            count++;
        }
        remainder = remainder / b;
    }
    // hien thi he co so
    for (i = count - 1; i >= 0; i--) {
        printf("%c", arr[i]);
    }
    return 1;
}

/**
 * Ham main
 */
int main() {
    int n = 12;
    printf("So %d trong he co so 2 = ", n);
    convertNumber(n, 2);
    printf("\nSo %d trong he co so 16 = ", n);
 convertNumber(n, 16);
    return 1;
}

Kết quả:

So 12 trong he co so 2 = 1100
So 12 trong he co so 16 = C

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.

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

Các hệ cơ số khác tương tự.


Tính giai thừa trong C
Giải phương trình bậc 2 trong C

Recent Updates

Phân biệt List, Tuple, Set, Dictionary trong PythonHàm Dictionary dict() trong PythonHàm Set set() trong PythonBài tập Java - Trộn 2 mảng trong javaBài tập Java - Chèn phần tử vào mảng trong javaBài tập Java - Sắp xếp mảng theo thứ tự giảm dầnBài tập Java - Sắp xếp mảng theo thứ tự tăng dầnJava - Liệt kê số lần xuất hiện của các phần tử trong một mảngJava - Liệt kê các phần tử xuất hiện trong mảng đúng 2 lầnJava - Liệt kê các phần tử xuất hiện trong mảng đúng 1 lầnChuỗi chứa chuỗi trong javaJava - Liệt kê số lần xuất hiện của các từ trong một chuỗi

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml