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 [kiso.vn]
- 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 Kiso.vn ----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 Kiso.vn ----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 !!!
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chínhVí dụ 1: Chuyển đổi thập phân sang nhị...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chínhVí dụ 1: Chuyển đổi thập phân sang nhị phân (cách 1)Ví dụ 2: Chuyển đổi thập phân sang nhị phân (cách 2)1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chínhVí dụ 1: Chuyển đổi thập phân sang nhị phân (cách 1)Ví dụ 2: Chuyển đổi thập phân sang nhị phân (cách 2)V. Phân tích và khai thác các lỗ hổng Directory traversal...
Directory traversal vulnerabilities (phần 3)
Nội dung chínhVí dụ 1: Chuyển đổi thập phân sang nhị phân (cách 1)Ví dụ 2: Chuyển đổi thập phân sang nhị phân (cách 2)V. Phân tích và khai thác các lỗ hổng Directory traversal...
Directory traversal vulnerabilities (phần 2)
Nội dung chínhVí dụ 1: Chuyển đổi thập phân sang nhị phân (cách 1)Ví dụ 2: Chuyển đổi thập phân sang nhị phân (cách 2)III. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi...