Viết chương trình chuyển số thập phân sang nhị phân với số lớn ví dụ 1000 chữ số

Trong thực tế, con người chúng ta quen với các số biểu diển bằng hệ thập phân, nhưng trên máy tính thì máy tính sử dụng hệ số Nhị phân với hai chữ số 0 hoặc 1 để biểu diển cho tất cả các dữ liệu. Các số Thập lục phân thường dùng biểu diển cho các dạng địa chỉ, ví dụ như địa chỉ vùng nhớ trên RAM. Nhưng để dễ tiếp cận thì tôi đơn cử các trường hợp dùng Nhị phân mà bạn thường gặp là biểu diển các bit địa chỉ IPv4 [khi phân tích chúng ra], còn các số Thập lục phân dùng biểu diển cho địa chỉ MAC của card mạng và IPv6.

Trong bảng dưới ta thấy, để biểu diển các số thập phân, người ta dùng mười chữ số từ 0 đến 9. Để biểu diển Nhị phân thì người ta dùng hai số 0 và 1. Đối với Thập lục phân, để biểu diển các con số ngoài mười chữ số từ 0 đến 9 như thập phân, chúng còn có các số tương ứng từ 10 đến 15 được biểu diển bằng các ký tự từ A đến F. Đối với hệ bát phân, người ta dùng các số từ 0 đến 7 để biểu diển các giá trị.

Để đổi một số thập phân sang Nhị phân, chúng ta lấy số muốn đổi sang nhị phân chia với 2 và sau đó lấy kết quả chia tiếp tục chia với 2, và lập lại phép chia này cho đến khi ta nhận được kết quả là 0 [từ trên xuống, theo mũi tên màu xanh]. Ở phép chia này, ta lấy dư là 0 và 1. Sau khi chia đến kết quả bằng 0, ta sẽ lấy các con số dư ghi lại từ dưới lên [theo chiều mũi tên màu đỏ] ta được dãy số gồm 0 và 1, đây chính là giá trị ta cần tìm [các số dư chỉ là 0 và 1, không được chia kết quả ra phần lẻ, ví dụ như 2,5].

Trong phép chia trên, ta muốn tìm giá trị Nhị phân của số 11, ta lấy số 11 chia cho 2 và sau đó chia liên tục kết quả với 2 cho đến khi nào kết quả bằng 0. Sau đó, ta lấy số dư ghi lại và ta được kết quả Nhị phân của số 11 là 1011.

Để đổi giá trị Nhị phân ra thành Thập phân, ta lấy dãy số Nhị phân cần chuyển, nhân lần lượt các phần tử của chúng bắt đầu từ phần tử cuối [theo chiều mũi tên màu đỏ] với 20 cho đến 2n-1  [với n là số phần tử của dãy số], sau đó, chúng ta tiến hành cộng các giá trị tìm được từ phép nhân, ta sẽ được kết quả một con số dưới dạng Thập phân.

Ở đây, chúng ta cần tìm giá trị của chuổi 1011, vậy ta nhân lần lượt các phần tử trong chuỗi số bắt đầu từ phần tử cuối cùng nhân với 20 đến 23 [vì ở đây dãy này có n = 4 số vậy n-1 =3]. Sau đó, chúng ta tiến hành cộng các giá trị tìm được từ phép nhân, ta sẽ được kết quả Thập phân của dãy Nhị phân 1011 là 11.

Tương tự như cách đổi Thập phân ra Nhị phân, ta có thể tiến hành đổi các số Thập phân ra hệ Thập lục phân, nhưng ở đây chúng ta lấy số cần đổi chia cho 16. Chúng ta cũng tiến hành phép chia từ trên xuống, theo chiều mũi tên màu xanh và  ghi lại kết quả từ dưới lên, theo chiều mũi tên màu đỏ, giá trị lấy dư không được quá 15. Do hệ Thập lục phân có phần biểu diển các giá trị từ 10 đến 15 là A, B, C, D, E, F nên các số dư trươc khi ghi lại thành dãy số Thập lục phân từ 10 đến 15 phải quy đổi thành các ký tự từ A đến F.

Ở trong ví dụ ta có 11=B, 12=C, vậy kết quả biểu diển của 700 thành Thập lục phân là 2BC [chia theo chiều mũi tên xanh và ghi lại kết quả theo chiều mũi tên đỏ, giá trị lấy dư không được quá 15].

Để đổi ngược từ Thập lục phân sang Thập phân, chúng ta tiến hành tương tự như việc chuyển đổi Nhị phân ra Thập phân, nhưng ở đây chúng ta phải đổi các giá trị biểu diển từ A đến F ra thành các số tương ứng [theo bảng các giá trị bên trên], sau đó nhân các số này bắt đầu từ số cuối cùng với 160 đến 16n-1 [theo chiều mũi tên đỏ], sau khi nhân xong, ta lấy tổng các giá trị tìm được.

Ở đây 2BC =700.

Tương tự, ta có thể đổi hệ Thập phân ra hệ Bát phân bằng cách chia con số Thập phân cần đổi với 8 rồi lấy kết quả chia với 8 liên tục cho đến khi kết quả bằng 0, sau đó ghi lại các số dư từ dưới lên để có được dãy Bát phân. Số dư của phép chia không được lớn hơn 7.

Ở ví dụ ta thấy giá trị Bát phân của số Thập phân 142 là 216.

Để đổi ngược lại Bát phân ra thập phân, chúng ta nhân từ giá trị của dãy Bát phân với 80 đến 8n-1 theo chiều mũi tên đỏ.

Sau khi đổi dãy Bát phân 216 ra Thập phân, ta được một số Thập phân 142.

Ngoài ra, để cho nhanh trong việc chuyển đổi các hệ số ta có thể dùng máy tính, ví dụ như tính năng Calculator trong hệ điều hành Windows, ta chọn chế độ Programmer.

Ta chỉ cần chọn các hệ số nguồn, sau đó nhận vào sô cần đổi, và chọn hệ số đích là có thể chuyển đổi.

Ngoài ra còn có những công cụ online, ở đây tôi giới thiệu với bạn một công cụ tại địa chỉ sau:

//www.mathsisfun.com/binary-decimal-hexadecimal-converter.html

Việc nắm vững  được cách chuyển đổi từ thập phân sang hai hệ số này rất quan trọng để bạn hiểu được các dạng địa chỉ được sử dụng trong ngành mạng máy tính. Ở bài viết này, chúng ta tìm hiểu về phần nguyên, trong phần tiếp theo chúng ta sẽ được giới thiệu về chuyển đổi phần lẻ sau dấu phẩy thập phân.

Excel cho Microsoft 365 Excel cho Microsoft 365 dành cho máy Mac Excel cho web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2016 for Mac Excel 2013 Excel for iPad Excel for iPhone Excel cho máy tính bảng Android Excel 2010 Excel 2007 Excel for Mac 2011 Excel cho điện thoại Android Xem thêm...Ít hơn

Hệ thống số là một cách có hệ thống để đại diện cho các số có ký tự biểu tượng và sử dụng giá trị cơ sở để dễ dàng nhóm các số trong biểu mẫu thu gọn. Hệ thống số phổ biến nhất là thập phân, có giá trị cơ sở là 10 và bộ ký tự biểu tượng là 0, 1, 2, 3, 4, 5, 6, 7, 8 và 9. Tuy nhiên, có các hệ thống số khác và chúng có thể hiệu quả hơn để sử dụng cho một mục đích cụ thể. Ví dụ, vì máy tính sử dụng lô-gic Boolean để thực hiện tính toán và thao tác nên chúng sử dụng hệ thống số nhị phân, hệ thống này có giá trị cơ bản là 2.

Microsoft Office Excel một số hàm mà bạn có thể sử dụng để chuyển đổi số sang và chuyển đổi từ các hệ thống số sau đây:

Hệ thống số

Giá trị cơ sở

Bộ ký tự ký hiệu

Nhị phân

2

0,1

Bát phân

8

0, 1, 2, 3, 4, 5, 6, 7

Decimal

10

0, 1, 2, 3, 4, 5, 6, 7, 8 và 9

Thập lục phân

16

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Để thực hiện tác vụ này, hãy dùng hàm BIN2DEC.

A

B

Công thức

Mô tả [Kết quả]

=BIN2DEC[1100100]

Chuyển đổi số nhị phân 1100100 thành số thập phân [100]

=BIN2DEC[1111111111]

Chuyển đổi số nhị phân 1111111111 thành số thập phân [-1]

Để thực hiện tác vụ này, hãy sử dụng hàm BIN2HEX.

A

B

Công thức

Mô tả [Kết quả]

=BIN2HEX[11111011, 4]

Chuyển đổi số nhị phân 11111011 thành số thập lục phân có 4 ký tự [00FB]

=BIN2HEX[1110]

Chuyển đổi số nhị phân 1110 thành số thập lục phân [E]

=BIN2HEX[1111111111]

Chuyển đổi số nhị phân 1111111111 thành số thập lục phân [FFFFFFFFFF]

Để thực hiện tác vụ này, hãy sử dụng hàm BIN2OCT.

A

B

Công thức

Mô tả [Kết quả]

=BIN2OCT[1001, 3]

Chuyển đổi số nhị phân 1001 thành số bát phân có 3 ký tự [011]

=BIN2OCT[1100100]

Chuyển đổi số nhị phân 1100100 thành số bát phân [144]

=BIN2OCT[1111111111]

Chuyển đổi số nhị phân 1111111111 thành số bát phân [77777777777]

Để thực hiện tác vụ này, hãy sử dụng hàm DEC2BIN.

A

B

Công thức

Mô tả [Kết quả]

=DEC2BIN[9, 4]

Chuyển đổi số 9 ở dạng thập phân thành số nhị phân có 4 ký tự [1001]

=DEC2BIN[-100]

Chuyển đổi số thập phân -100 thành số nhị phân [1110011100]

Để thực hiện tác vụ này, hãy sử dụng hàm DEC2HEX.

A

B

Công thức

Mô tả [Kết quả]

=DEC2HEX[100, 4]

Chuyển đổi số thập phân 100 thành số thập lục phân có 4 ký tự [0064]

=DEC2HEX[-54]

Chuyển đổi số thập phân -54 thành số thập lục phân [FFFFFFFFCA]

Để thực hiện tác vụ này, hãy sử dụng hàm DEC2OCT.

A

B

Công thức

Mô tả [Kết quả]

=DEC2OCT[58, 3]

Chuyển đổi số thập phân 58 thành số bát phân [072]

=DEC2OCT[-100]

Chuyển đổi số thập phân thành số bát phân [7777777634]

Để thực hiện tác vụ này, hãy sử dụng hàm HEX2BIN.

A

B

Công thức

Mô tả [Kết quả]

=HEX2BIN["F", 8]

Chuyển đổi F ở dạng thập lục phân thành nhị phân, với 8 ký tự [000001111]

=HEX2BIN["B7"]

Chuyển đổi B7 ở dạng thập lục phân thành nhị phân [10110111]

=HEX2BIN["FFFFFFFFFF"]

Chuyển đổi FFFFFFFFFF ở dạng thập lục phân thành nhị phân [1111111111]

Để thực hiện tác vụ này, hãy dùng hàm HEX2DEC.

A

B

Công thức

Mô tả [Kết quả]

=HEX2DEC["A5"]

Chuyển đổi A5 ở dạng thập lục phân thành thập phân [165]

=HEX2DEC["FFFFFFFF5B"]

Chuyển đổi FFFFFFFF5B ở dạng thập lục phân thành thập phân [-165]

=HEX2DEC["3DA408B9"]

Chuyển đổi 3DA408B9 ở dạng thập lục phân thành thập phân [1034160313]

Để thực hiện tác vụ này, hãy sử dụng hàm HEX2OCT.

A

B

Công thức

Mô tả [Kết quả]

=HEX2OCT["F", 3]

Chuyển đổi F ở dạng thập lục phân thành bát phân với 3 ký tự [017]

=HEX2OCT["3B4E"]

Chuyển đổi 3B4E ở dạng thập lục phân thành bát phân [35516]

=HEX2OCT["FFFFFFFF00"]

Chuyển đổi FFFFFFFF00 ở dạng thập lục phân thành bát phân [7777777400]

Để thực hiện tác vụ này, hãy sử dụng hàm OCT2BIN.

A

B

Công thức

Mô tả [Kết quả]

=OCT2BIN[3, 3]

Chuyển đổi số bát phân 3 thành số nhị phân có 3 ký tự [011]

=OCT2BIN[7777777000]

Chuyển đổi số bát phân 7777777000 thành số nhị phân [100000000]

Để thực hiện tác vụ này, hãy sử dụng hàm OCT2DEC.

A

B

Công thức

Mô tả [Kết quả]

=OCT2DEC[54]

Chuyển đổi số bát phân 54 thành số thập phân [44]

=OCT2DEC[7777777533]

Chuyển đổi số bát phân 7777777533 thành số thập phân [-165]

Để thực hiện tác vụ này, hãy sử dụng hàm OCT2HEX.

A

B

Công thức

Mô tả [Kết quả]

=OCT2HEX[100, 4]

Chuyển đổi số bát phân 100 thành số thập lục phân có 4 ký tự [0040]

=OCT2HEX[7777777533]

Chuyển đổi số bát phân 7777777533 thành số thập lục phân [FFFFFFFF5B]

Video liên quan

Chủ Đề