Cách chuyển đổi hệ cơ số 2 sang 10 C
Đối với những ai không là lập trình viên thì khi nghe đến các hệ nhị phân, thập phân, thập lục phân…đều không hiểu. Còn với mỗi lập trình viên, những hệ số này là khá quen thuộc và quan trọng trong công việc. Mỗi hệ số có một cách thể hiện riêng. Trong bài viết này sẽ có những kiến thức cơ bản về hệ số thập lục phân; nhị phân; cách đổi từ hệ 16 sang hệ 2 và ngược lại. Show
Đang xem: Cách chuyển đổi hệ cơ số 2 sang 10 Giới thiệu tổng quan về hệ 16 (thập lục phân) và hệ 2 (nhị phân)Để biết cách đổi từ hệ 16 sang hệ 2 và ngược lại thì chúng ta cần hiểu rõ về quy ước của 2 hệ này. Như vậy mới có thể tiến hành chuyển đổi một cách dễ dàng. Hệ cơ số 16 (hệ thập lục phân)Vào năm 1963 trong thế giới điện toán hệ cơ số thập lục phân xuất hiện bắt nguồn từ công ty IBM. Trước đó, thế hệ trước của chúng là hệ thống sử dụng trong máy tính Bendix G-15. Hệ thống này có chứa các ký tự số từ 0 đến 9 và kí tự chữ từ A đến F. Hệ cơ số 16 có tên tiếng Anh là Hex (hay hexadecimal). Chúng là một hệ đếm dựa trên 16 ký tự bao gồm số và chữ. Đặc điểm của hệ đếm này khá thú vị. Bởi vì trong hệ thập phân thường dùng chỉ bao gồm 10 ký tự chữ số để biểu thị các con số. Do hệ Hex có 16 chữ số, nên 6 chữ số thêm vào (ngoài 10 chữ số trong hệ thập phân) được biểu thị bằng 6 chữ cái đầu tiên của bảng chữ cái. READ: Mô Hình Nuôi Ốc Ntn Cách Vận Chuyển Ốc Đi Xa An Toàn Đúng Cách Cuối cùng, các chữ số hệ Hex bao gồm A, B, C, D, E, F và 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Hiện nay, chúng được ứng dụng khá phổ biến trong toán học và công nghệ thông tin. Áp dụng hệ 16 vào lập trình HTML được biểu thị bằng số thập lục phân 6 chữ số FFFFFF. Chúng có thuộc tính color đại diện cho màu trắng. Còn 000000 đại diện cho màu đen… Hệ cơ số 16 (hệ thập lục phân) Hệ cơ số 2 (hệ nhị phân)Hệ cơ số này được biết đến sớm nhất trong lịch sử. Từ cổ xưa chúng đã được áp dụng ở Ai Cập cổ đại, Trung Quốc và Ấn Độ với nhiều mục đích khác nhau. Và cho đến nay hệ cơ số 2 đã trở thành ngôn ngữ của ngành khoa học điện tử và máy tính. Hệ cơ số 2 (nhị phân) có tên tiếng Anh là BIN (hay Binary). Hệ này sử dụng 2 ký tự duy nhất là 0 và 1 để biểu đạt một giá trị. Đây là hệ thống để phát hiện tín hiệu điện hiệu quả nhất: tắt (0) và bật (1). Ngoài ra, chúng cũng là cơ sở cho mã nhị phân được áp dụng vào soạn thảo dữ liệu trên máy tính. Kể cả những văn bản kỹ thuật số mà chúng ta đang đọc hiện nay cũng bao gồm các số nhị phân. Việc đọc một số hệ cơ số 2 dễ dàng hơn so bạn nghĩ. Đây là một trong các hệ đếm dùng vị trí định lượng. Do vậy, mỗi chữ số trong một số hệ 2 được nâng lên lũy thừa 2. Chúng sẽ được bắt đầu từ vị trí phía ngoài cùng bên phải là 20. Trong hệ nhị phân, mỗi chữ số hệ 2 đề cập đến 1 bit. READ: Hướng Dẫn Cách Nâng Hạn Mức Chuyển Tiền Vietcombank Trên Điện Thoại Xem thêm: Hướng Dẫn Cách Chuyển Tiền Qua Internet Banking Vietcombank, Cách Chuyển Khoản Bằng Sms Banking Vietcombank Hệ cơ số 2 (hệ nhị phân) Cách chuyển đổi giữa hai hệ cơ số 16 và hệ cơ số 2Chúng ta có thể tiến hành chuyển đổi dễ dàng giữa 2 hệ cơ số 16 và 2. Việc chuyển đổi được dựa trên bảng chuyển đổi sau: Bảng chuyển đổi từ hệ cơ số 16 (thập lục phân) sang hệ cơ số 2 (nhị phân)
Cách đổi từ hệ 16 sang hệ 2Cách chuyển đổi bao gồm 2 bước cơ bản sau: Bước 1: Đầu tiên cần chuyển từng số trong số 16 sang nibble. Bước 2: Sau đó kết hợp các nibble lại thành chuỗi số trong hệ cơ số 2. Cách đổi từ hệ 16 sang hệ 2 Ví dụ thứ nhất: Chuyển số hex 0x40 về hệ cơ số 2 Chia từng số hệ 16 ra và chuyển về số hệ 2 0x4 = 01002 và 0x0 = 00002.Sau đó kết hợp hai số trên lại thành một là 010000002.Vậy kết quả sau cách chuyển đổi từ hệ 16 sang hệ 2 0x40 = 010000002 Ví dụ thứ hai: Chuyển số hex 0x63F về hệ cơ số 2 Chia từng số hệ 16 ra và chuyển về số nhị phân 0x6 = 01102; 0x3 = 00112; 0xF = 11112.Sau đó kết hợp ba số trên lại thành một là 0110001111112.Vậy kết quả sau cách chuyển đổi từ hệ 16 sang hệ 2 0x63F = 0110001111112 Cách đổi từ hệ 2 sang hệ 16Cách chuyển đổi này cũng chỉ bao gồm 2 bước sau: Bước 1: Chia các số hệ 2 thành các nibble hợp lý. Bước 2: Sau đó chuyển các nibble trên thành hệ số 16 tương ứng. Ví dụ minh họa: Chuyển số hệ cơ số 2 010001012 về số 16 Chia số hệ cơ số 2 thành nhóm 4 bit 01002 = 0x4 và 01012 = 0x5.Sau đó kết hợp hai số trên lại thành một là 0x45.Vậy kết quả sau khi chuyển đổi 010001012 = 0x45. Xem thêm: Giải Bài 1 Trang 43 Toán 12, Giải Bài 1, 2, 3 Trang 43 Sgk Giải Tích 12 Để có thể lập trình tốt thì những quy ước trên buộc phải được hiểu rõ. Cách đổi từ hệ 16 sang hệ 2 và ngược lại theo các bước hướng dẫn trên là không khó. Do vậy, bạn có thể chuyển đổi dễ dàng sau khi hiểu được nguyên lý của chúng. Xem thêm bài viết thuộc chuyên mục: Chuyển file
Hệ đếm là một tập các kí tự (bảng chữ số) để biểu diễn các số và xác định giá trị của các biểu diễn số. Các hệ đếm thường gặpCó 2 loại hệ đếm cơ bản mà chúng ta vẫn thường gặp là:
1. Hệ số đếm có vị tríNguyên tắc chung
Biểu diễn số tổng quát: Khi biểu diễn số ta thường thêm chỉ số để nhận biết chính xác hệ cơ số đang xét, ví dụ: 1010, 102, 1016 2. Hệ thập phânHệ thập phân (hệ đếm cơ số 10) là hệ đếm dùng số 10 làm cơ số. Đây là hệ đếm được sử dụng rộng rãi nhất trong các nền văn minh thời hiện đại. Hệ gồm các chữ số 0,1,2,3,4,5,6,7,8,9 tạo nên. Ví dụ: 33 = (3*10) + 3 5432 = (5*1000) + (4*100) + (3*10) + 2 Cơ số 10. Tức là, mỗi chữ số trong số được nhân với 10 mũ i, i tương ứng với vị trí của chữ số đó: 3310 = 3*101 + 3*100 543210 = 5*103 + 4*101 + 3*101 + 2*100 Ví dụ biểu diễn số thực: 25.25610 = 2*101 + 5*100 + 2*10-1 + 5*10-2 + 6*10-3
3. Hệ nhị phânHệ nhị phân (hay hệ đếm cơ số hai hoặc mã nhị phân) là một hệ đếm dùng hai ký tự để biểu đạt một giá trị số, bằng tổng các lũy thừa của 2.
Cách chuyển đổi nhị phân sang thập phân:Nhân mỗi chữ số nhị phân với 2i và cộng vào kết quả Cách chuyển đổi từ thập phân sang nhị phân:Đổi riêng phần nguyên và phần Thập phân
Ví dụ 1: Minh họa cách đổi 1110 sang nhị phân bằng cách 1 Ví dụ 2: Minh họa cách đổi 0.8110 sang nhị phân Do 0.81 là một số vô tỉ nên ta không thể biết chính xác được số chữ số phía sau dấu '.' nên ở đây kết quả mình lấy 6 số sau dấu '.' Ví dụ 3: Minh họa cách đổi 0.2510 sang nhị phân Do 0.25 = 1/4 là một số hữu tỉ nên theo cách đổi trên ta hoàn toàn có thể xác định được chính xác số chữ số sau dấu '.' và 0.2510 = 0.012 Code C++ đổi phần nguyên từ thập phân sang nhị phân viết bằng đệ quy: void DectoBin(int n) { if(n!=0) { DectoBin(n/2); cout<Cơ số 16 Được tạo thành từ 16 chữ số bao gồm: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Biểu diễn thập lục phân:
Cách chuyển từ nhị phân sang thập lục phân:
Ví dụ 1: 100100112 = X16 Theo cách 2 thì mình chia thành 4 bit một từ phải qua trái là: 0011 và 1001 ở đây 1001 = 9 và 0011 = 3 => 100100112 = 9316 Ví dụ 2: 10011112 = X16 Theo cách 2 thì mình chia thành 4 bit một từ phải qua trái là: 1111 và 100, ta thấy ở đây 100 chỉ có 3 bit nên ta phải thêm cho nó 1 bit để đủ 4 bit và chúng ta thêm ở đâu cho đủ? Ở đây ta thêm 1 bit 0 vào bên phải để cho giá trị 0100 = 100 rồi ta tiếp tục tra bảng. 0100 = 4 và 1111 = F vậy 10011112 = 4F16 Ví dụ 3: 1100.1012 = X16 Do ví dụ này mình có thêm dấu '.' vào nên chúng ta phải đổi riêng phần nguyên và phần thập phân và cách đổi tương tự nhiên trên. Ta có phần nguyên là: 11002 = C16 và phần thập phân là 101, khi này ta cần nhớ lại chữ số ngoài cùng bên phải là chữ số ít quan trọng nhất vì vậy khi thêm 1 bit vào cho đủ 4 bit ta thêm bit 0 vào bên phải của 101 tức là 1010 = A. Vậy 1100.1012 = C.A16 Tổng kết lại ở cách đổi này ta cần lưu ý khi đổi phần nguyên ta nhóm 4 bit một từ phải qua trái tính từ dấu '.' khi thiếu bit ta thêm các bit vào bên trái cho đủ 4 bit rồi tra bảng. Khi đổi phần thập phân ta nhóm 4 bit một nhưng bây giờ ta nhóm từ trái qua phải tính từ dấu '.' và khi thiếu bit ta thêm các bit vào bên phải cho đủ 4 bit rồi tra bảng. Tổng KếtQua bài viết trên mình đã trình bày cho các bạn cơ bản về các hệ số đếm như hệ nhị phân, hệ thập phân, hệ thập lục phân. Mỗi phần mình đều liệt kê khái niệm, công thức tổng quát và cách đổi phần nguyên, phần thập phân. Về cách đổi mình có trình bày cách đổi từ nhị phân sang thập phân, từ thập phân sang nhị phân, từ thập lục phân sang nhị phân bằng cách tra bảng. Nói một cách tổng quát đổi cho tất cả hệ số nói chung: khi chuyển từ một hệ số bất kì qua hệ số 10 ta chỉ cần nhân với hệ số đó mũ i (ví dụ từ hệ 2 sang hệ 10 nhân 2^i, từ hệ 16 sang hệ 10 nhân 16^i,...) và khi chuyển từ hệ 10 sang các hệ số khác ta chia dư cho hệ đó (ví dụ từ hệ 10 sang hệ 2 ta chia 2, từ hệ 10 sang hệ 16 ta chia 16) Vậy nên khi chuyển từ hệ a sang b ta cần phải thông qua hệ số 10. Tài liệu tham khảo: Computer Organization and Architecture, 9th Edition |