Cách chuyển đổi thập phân sang nhị phân trong C#
Trong bài viết này mình sẽ hướng dẫn các bạn cách chuyển đổi thập phân sang nhị phân trong C#. Trước khi đi vào viết chương trình, các bạn cùng mình tìm hiểu về số thập phân và nhị phân đã nhé.
Số thập phân là những số sử dụng số 10 làm cơ số. Hiểu đơn giản thì các số thập phân được ghép thành từ 10 con số (0, 1, 2, 3, 4, 5, 6, 7 ,8, 9), Ví dụ: 123, 435, 567, ... Những con số này còn được dùng với dấu "phẩy" để định vị phần thập phân và hàng đơn vị, ngoài ra còn có "-". "+" để phân biệt âm dương.
Số nhị phân là các con số có cơ số là 2. Các số nhị phân được biểu diễn dựa trên hai chữ số là 0 và 1. Vì vậy bất kỳ sự kết hợp nào của hai số này (tức là 0 và 1) cũng là một số nhị phân. Ví dụ: 101, 10001, 111001, ...
Ví dụ 1: Chuyển đổi thập phân sang nhị phân (cách 1)
Đầu tiên các bạn xem qua thuật toán để chuyển đổi số thập phân sang nhị phân đã nhé.
Bài viết này được đăng tại [free tuts .net]
- Chia số cho 2 thông qua toán từ modulus (%) và lưu phần dư vào một mảng.
- Chia số cho 2 thông qua toán từ /.
- Lặp lại cho đến khi số lớn hơn 0.
Dựa vào đó, ta sẽ sử dụng vòng lặp for và các toán tử để tạo thuật toán chuyển đổi.
for (i = 0; number > 0; i++) { //chia lấy dư và lấy nguyên sau đó lưu vào mảng numberArray[i] = number % 2; number = number / 2; }
Full code:
using System; class Program { public static void Main (string[] args) { //khai báo và lấy giá trị do người dùng nhập vào Console.Write("Nhập vào số cần chuyển đổi: "); int number = int.Parse(Console.ReadLine()); int i; //khai báo một mảng để lưu giá trị int[] numberArray = new int[10]; for (i = 0; number > 0; i++) { //chia lấy dư và lấy nguyên sau đó lưu vào mảng numberArray[i] = number % 2; number = number / 2; } //sử dụng vòng lặp for để in các giá trị trong mảng Console.Write("Số thập phân sau khi chuyển đổi: "); for (i = i - 1; i >= 0; i--) { Console.Write(numberArray[i]); } Console.Write("\n---- Chương trình này được đăng tại Freetuts.net ----\n"); Console.ReadKey(); } }
Kết quả:
Ví dụ 2: Chuyển đổi thập phân sang nhị phân (cách 2)
Trong ví dụ này, mình sẽ sử dụng biến string để lưu kết quả chuyển đổi thay cho mảng. Về thuật toán thì vẫn tương tự như cách một, nhưng sẽ ngắn gọn hơn.
using System; class Program { public static void Main (string[] args) { //khai báo và lấy giá trị từ người dùng Console.Write("Nhập vào số cần chuyển đổi: "); int number = int.Parse(Console.ReadLine()); //khai báo biến Result để lưu các giá trị khi chuyển đổi string Result = string.Empty; for (int i = 0; number > 0; i++) { //chua lấy dư và nguyên sau đó lưu vào Result Result = number % 2 + Result; number = number / 2; } //hiển thị Result ra màn hình console Console.WriteLine($"Số thập phân sau khi chuyển đổi: {Result}"); Console.Write("\n---- Chương trình này được đăng tại Freetuts.net ----\n"); Console.ReadKey(); } }
Kết quả:
Như vậy là chúng ta đã thực hiện xong chương trình chuyển đổi thập phân sang nhị phân bằng hai cách khác nhau. Các bạn hãy luyện tập thật nhiều để áp dụng nó một cách thành thạo nhé, chúc các bạn thành công !!!