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 |
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:
Cách 2: Phương thức theo thuật toán bên trênConsole.WriteLine(Convert.ToInt32("1A",16));
// Out: 26
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;
}
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 |
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:
Cách 2: Mô phỏng theo thuật toán trênConsole.WriteLine(Convert.ToString(Convert.ToInt32("1ABC15", 16), 8));
//Out: 6536025
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ảiChú ý: 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
Hexadecimal, Decimal, Octal, Binary
Related Tags :WritingObsolete
No comments:
Post a Comment
Commets Download Photoshop Actions, Lightroom Presets, PSD Template, Mockups, Stocks, Vectors, Fonts. Download free