EnglishFrenchGermanItalianJapanesePortugueseRussianSpanishVietnamese
C/C++

Chương trình C chuyển đổi số nhị phân thành thập phân và ngược lại

Chương trình C chuyển đổi số nhị phân thành thập phân và ngược lại

Hôm nay mình sẽ làm một ví dụ đơn giản bằng code C để thực hiện chuyển đổi từ số nhị phân (Binary) sang số thập phân (Decimal).

Để hiểu tốt ví dụ này bạn cần nắm được một số kỹ thuật căn bản về ngôn ngữ lập trình C. (Tham khảo bài viết này: http://dantinhoc.com/hoc-lap-trinh-c-voi-bo-video-tu-dan-tin-hoc-blog.html/)

binary-decimal_dantinhoc.com

Ví dụ 1: Chuyển đổi từ số thập phân sang số nhị phân:

Mã Nguồn:

#include <stdio.h>
#include <math.h>
int ConvertBinaryToDecimal(long long n);

int main()
{
    long long n;
    printf("Nhập vào số nhị phân cần chuyển: ");
    scanf("%lld", &n);
    printf("Số nhị phân: %lld = %d trong thập phân.", n, ConvertBinaryToDecimal(n));
    return 0;
}

int ConvertBinaryToDecimal(long long n)
{
    int decimalNumber = 0, i = 0, remainder;
    while (n!=0)
    {
        remainder = n%10;
        n /= 10;
        decimalNumber += remainder*pow(2,i);
        ++i;
    }
    return decimalNumber;
}

 

Output

Nhập vào số nhị phân cần chuyên: 110110111
Số nhị phân: 110110111 = 439 trong thập phân.

 

Ví dụ 2: Chương trình chuyển từ số thập phân sang số nhị phân:

Mã Nguồn:

#include <stdio.h>
#include <math.h>
long long convertDecimalToBinary(int n);

int main()
{
    int n;
    printf("Nhập vào số thập phân: ");
    scanf("%d", &n);
    printf("%d = %lld trong nhị phân.", n, convertDecimalToBinary(n));
    return 0;
}

long long convertDecimalToBinary(int n)
{
    long long binaryNumber = 0;
    int remainder, i = 1;

    while (n!=0)
    {
        remainder = n%2;
        printf("Bước %d: %d/2, Số dư = %d, Thương = %d\n", step++, n, remainder, n/2);
        n /= 2;
        binaryNumber += remainder*i;
        i *= 10;
    }
    return binaryNumber;
}

 Output:

Nhập vào số thập phân: 19
Bước 1: 19/2, Số dư = 1, Thương = 9
Bước 2: 9/2, Số dư = 1, Thương = 4
Bước 3: 4/2, Số dư = 0, Thương = 2
Bước 4: 2/2, Số dư = 0, Thương = 1
Bước 5: 1/2, Số dư = 1, Thương = 0
19 = 10011 trong nhị phân.

Trên đây là ví dụ đơn giản bằng ngôn ngữ C để chuyển đổi từ số nhị phân sang số thập phân và ngược lại.

Cám ơn các bạn đã ủng hộ Dân Tin Học

Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

To Top
Close