Cách chuyển đổi nhị phân sang thập 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 số nhị phân sang thập phân. Ở bài trước mình có hướng dẫn cách đổi thập phân sang nhị phân, các bạn có thể xem lại nhé.
Giả sử ta có số nhị phân 10101, để chuyển sang thập phân ta có thể tính như sau:
1 * 2^0 = 1 0 * 2^1 = 0 1 * 2^2 = 4 0 * 2^3 = 0 1 * 2^4 = 16
Kết quả: Thập phân của 10101 = 1 + 0 + 4 + 0 + 16 = 21.
Chuyển đổi nhị phân sang thập phân trong C#
Như ta biết thì để chuyển đổi từ nhị phân sang thập phân, ta cần xác định được có bao nhiêu chữ số trong nhị phân. Điều đó tương ứng với số lũy thừa ta cần tính.
Bài viết này được đăng tại [free tuts .net]
Trong ví dụ này, mình trích xuất các chữ số của số nhị phân bắt đầu từ bên phải bằng toán tử Mod. Sau đó nhân các chữ số với cơ số thích hợp, tức là lũy thừa của 2 và cộng vào kết quả của biến decimalValue.
Cuối cùng, giá trị của biến decimalValue chính là giá trị thập phân của số nhị phân sau khi chuyển đổi.
using System; using System.Linq; namespace ConsoleApp5 { class Program { static void Main(string[] args) { Console.Write("Nhap vao so nhi phan can chuyen doi: "); int binaryNumber = int.Parse(Console.ReadLine()); int decimalValue = 0; int base1 = 1; while (binaryNumber > 0) { int reminder = binaryNumber % 10; binaryNumber = binaryNumber / 10; decimalValue += reminder * base1; base1 = base1 * 2; } Console.Write($"So thap phan sau khi chuyen doi: {decimalValue} "); Console.Write("\n ---- Chuong trinh nay duoc dang tai Freetuts.net ---- \n"); Console.ReadKey(); } } }
Kết quả:
Chuyển đổi nhị phân sang thập phân sử dụng phương thức Convert.ToInt32()
Trong ví dụ này mình sẽ sử dụng phương thức Convert.Toint32()
để thực hiện chuyển đổi số nhị phân sang thập phân. Đây là phương thức có sẵn trong C#, vì vậy sẽ ngắn gọn và dễ sử dụng hơn.
Hàm bao gồm hai tham số, tham số thứ nhất là giá trị của số nhị phân cần chuyển đổi. Giá trị thứ hai chính là cơ số chuyển đổi, trong trường hợp này sẽ là 2.
using System; using System.Linq; namespace ConsoleApp5 { class Program { static void Main(string[] args) { Console.Write("Nhap vao so can chuyen doi: "); int binaryNumber = int.Parse(Console.ReadLine()); int decimalValue = Convert.ToInt32(binaryNumber.ToString(), 2); Console.Write($"So thap phan sau khi chuyen doi: {decimalValue} "); Console.Write("\n ---- Chuong trinh nay duoc dang tai 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 từ số nhị phân sang số thập phân bằng hai cách khác nhau. Các bạn hãy luyện tập thật nhiều để sử dụng nó một cách thành thạo nhé, chúc các bạn thành công !!!