Hôm nay, chúng ta cùng tìm hiểu các hệ cơ số cơ bản bao gồm:
Và chuyển đổi qua lại giữa các hệ, sử dụng C#...

Hình 1: Các ký tự đại diện của các hệ cơ số

   Hình trên mô tả các ký tự đại diện cho giá trị của mỗi hệ. Trong cuộc sống chúng ta thường sử dụng hệ thập phân để biểu diễn giá trị số và chúng chỉ bao gồm các con số 0 tới 9. Tương tự hệ nhị phân dùng hai ký tự 0/1 để biểu diễn giá trị hoặc biểu diễn về mặt vật lý yes/no của dòng điện. Bạn có thể tìm hiểu lý thuyết này thêm tại Wikipedia



  Chuyển đổi giữa các hệ Hexadecimal, Decimal, Octal, Binary

Có nhiều cách chuyển đổi từ hệ này sang hệ kia, bạn có thể chuyển bắc cầu hoặc trực tiếp như các cách bên dưới đây.
Bảng Cần Ghi Nhớ

1. Hệ Thập Lục Phân


To Top

a. Chuyển sang hệ thập phân (16 to 10)

Hình 2: Cách chuyển đổi hệ 16 sang hệ 10
- Hình trên mô tả một trong những cách chuyển đổi hệ 16 sang hệ 10. Cách làm như sau, đánh dấu số mũ như trên và nhân từng giá trị như trên sau đó cộng kết quả lại ta được hệ 10.
Chú ý: Ngoại trừ các số 0 tới 9 bạn có thể nhân trực tiếp vào. Còn lại ABCDEF tương đương 10, 11, 12, 13, 14, 15. (xem lại hình 1)

Ví dụ tiếp theo:

Sử dụng mã C#

Cách 1:
Console.WriteLine(Convert.ToInt32("1A",16));  
// Out: 26
Cách 2:  Phương thức theo thuật toán bên trên
public int ConvertHexToDec(string hex)
{
var chars = new[] { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
double temp = 0;
for (var i = 0; i < hex.Length; i++)
{
var t = Convert.ToChar((hex.Substring(i,1)));
for (var j = 0; j < 16; j++)
{
if (t != chars[j]) continue;
temp += j * (Math.Pow(16, hex.Length-(i+1)));break;
}
}
return (int) temp;
}

(Math.Pow(16, hex.Length-(i+1))) : Hàm này tính số mũ bậc n.
(hex.Substring(i,1)) : Hàm SubString dùng để cắt chuỗi string. Tham số truyền vào (Vị trí bắt đầu, Số phần tử sẽ cắt)
hex.Length: Trả về số là độ dài của chuỗi string

b. Chuyển sang hệ bát phân (16 to 8)


- Ta sử dụng phương pháp đơn giản dùng hệ trung gian, chuyển hệ 16 sang 2 sang 8 như hình  dưới:
Hình 3: Cách chuyển hệ 16 sang hệ 8
Ở bước đầu tiên đưa sang hệ cơ số 2 bằng cách tra cứu bảng gần phía trên cùng của bài này, nếu số nào không đủ 4 chữ số hãy thêm 0 vào phía trước.
Sau đó tách thành 3 chữ số một như trên, tra cứu bảng nhị phân xem nó bằng bao nhiêu của hệ 8. ghi ra kết quả.
Đó là cách phổ biến và đơn giản nhất, điều cần quan tâm là bạn phải nhớ được 15 giá trị của bảng nhị phân (Binary).

Sử dụng mã C#:
Cách 1:
Console.WriteLine(Convert.ToString(Convert.ToInt32("1ABC15", 16), 8));
//Out: 6536025
Cách 2: Mô phỏng theo thuật toán trên

c. Chuyển sang hệ nhị phân (16 to 2)

(Xem lại 1.b) chuyển trực tiếp từ 16 sang 2.
Hoặc chuyển từ 16 -> 10 -> 2 (xem lại 1.a)
 

2. Hệ Thập Phân


To Top

a. Chuyển sang hệ thập lục phân (base 10 to base 16)


B1: Lấy giá trị cần đổi chia cho 16. Ghi nhớ phần dư, lấy kết quả lặp lại phép chia cho đến khi giá trị cần chia nhỏ hơn 16.
B2: Lấy các kết quả dư đã ghi nhớ từ dưới lên được kết quả cuối cùng. Xem hình dưới
Chú ý: Số dư chắc chắn nhỏ hơn 16. Các số 10,11,12,13,14,15 tra bảng sẽ là A B C D E F

b. Chuyển sang hệ bát phân (base 10 to base 8)


B1:Chia giá trị cần đổi cho 8. Ghi nhớ phần số dư, lấy kết quả lặp lại phép chia cho đến khi số cần chia nhỏ hơn 8. Lấy kết quả từ dưới lên được giá trị cuối cùng. Xem hình dưới
Chú ý: Số dư chắc chắn rằng sẽ nhỏ hơn 8. :)

c. Chuyển sang hệ nhị phân (base 10 to base 2)

Cách 1:
B1: Chia giá trị cần đổi cho 2. Ghi nhớ phần số dư, lấy kết quả tiếp tục chia cho 2 và lấy phần dư
B2: Từ phần dư, ghi ngược từ dưới lên ta được kết quả cuối cùng như hình vẽ
Chú ý: Phép chia cho 2 phần dư chắn chắn chỉ là 1. Phép chia hết ta lấy phần dư là 0
Ví dụ tiếp theo:
Cách 2:
B1:  Ghi ra 1 danh sách giá trị tăng theo mũ 2 từ phải sang như màu xanh bên dưới.
B2:  Đặt Giá trị cần đổi tại cột màu xanh. Điều kiện số màu xanh không được lớn hơn. Chỉ được bé hoặc bằng.
B3: Lấy Giá trị cần đổi trừ cho số màu xanh. Trừ được không âm đánh dấu 1. Lấy kết lặp lại B2.
Chú ý: Nếu phép trừ âm thì bỏ qua, đánh dấu 0

=> Kết quả: 11011

3. Hệ Bát Phân


To Top

a. Chuyển sang hệ thập lục phân (base 8 to base 16)

B1: Tra Bảng đưa từng số hệ 8 sang hệ 2, đảm bảo 3 ký tự như hình dưới.
B2: Phân từng 4 ký tự như hình, tính từ bên phải sang trái. Sau đó tra bảng nhị phân được kết quả hệ 16 tương đương.

b. Chuyên sang hệ thập phân (base 8 to base 10)

B1: Nhân từng số với 8 mũ n. Với n là tổng số phần tử của chuỗi bát phân. Giảm dần từ trái qua phải
Chú ý: Số mũ tính 0 -> n
B2:  Cộng các kết quả thu được ta được kết quả cuối cùng.

c. Chuyển sang hệ nhị phân (base 8 to base 2)


B1: Lấy từng số, tiến hành Tra Bảng. Tuy nhiên, chắc chắc sẽ không có số nhị phân tương đương 4 ký tự. Bạn cần thêm số 0 nếu cần thiết để được từng block 3 ký tự như hình dưới.
B2: Gộp các số tra được thành một chuỗi cuối cùng. Đó chính là kết quả của phép chuyển đổi này

4. Hệ Nhị Phân


To Top

a. Chuyển sang hệ thập lục phân (base 2 to base 16)


B1: Tách từng 4 ký tự tính từ bên phải sang trái như hình dưới.
B2: Tra Bảng Sau đó đưa ra kết quả hệ thập lục phân

b. Chuyển đổi sang hệ thập phân (base 2 to base 10)


B1: Nhân từng giá trị nhị phân với 2 mũ n. Với tổng số vị trí của các giá trị nhị phân, giảm dần từ trái qua phải. Các bạn có thể hình dung như hình bên dưới
B2: Cộng các kết quả lại ta được giá trị thập phân cuối cùng

c. Chuyển đổi sang hệ bát phân (base 2 to base 8) 


B1: Tách từ bên phải sang từng 3 ký tự như dưới.
B2: Tra Bảng. Đưa về dạng bát phân

Top
(còn tiếp...)

Update: 10/01/2014

thumbnail Hexadecimal, Decimal, Octal, Binary

data:label.name author

premiumpng.com

Design Publisher

Download 0
No comments
Template in .PSD format

MR Laboratory License

Free for personal purpose use . More info


Buy Now This Template

No comments:

Post a Comment

Commets Download Photoshop Actions, Lightroom Presets, PSD Template, Mockups, Stocks, Vectors, Fonts. Download free

Newer Post Older Post Home

Copyright © 2021 MR Laboratory All rights reserved.

Setting