Trình Chuyển Đổi Cơ Số Số

Chuyển đổi giữa nhị phân, bát phân, thập phân và thập lục phân.

Dữ liệu của bạn không rời khỏi thiết bị
Nhị phân (cơ số 2)
Bát phân (cơ số 8)
Thập phân (cơ số 10)
Thập lục phân (cơ số 16)

Hiểu các hệ cơ số

Một cơ số (hoặc radix) xác định bao nhiêu chữ số duy nhất được dùng để biểu diễn các số. Quen thuộc nhất là cơ số 10 (thập phân), sử dụng các chữ số 0-9. Máy tính sử dụng nguyên thủy cơ số 2 (nhị phân), chỉ với 0 và 1.

Câu hỏi thường gặp

Nó có hỗ trợ các số rất lớn không?

Có. Công cụ này sử dụng BigInt của JavaScript, hỗ trợ các số nguyên lớn tùy ý mà không mất độ chính xác. Bạn có thể chuyển đổi các số hàng trăm chữ số.

Tại sao nhị phân quan trọng trong tin học?

Máy tính sử dụng tín hiệu điện hai trạng thái (bật/tắt), tương ứng tự nhiên với nhị phân (1/0). Mọi dữ liệu · văn bản, hình ảnh, video · cuối cùng được lưu trữ và xử lý ở dạng nhị phân.

Cách hoạt động của ký hiệu số vị trí

Hệ số vị trí biểu diễn một số bằng tập hợp ký hiệu chữ số có kích thước cố định, trong đó vị trí của mỗi chữ số quyết định trọng số của nó. Trọng số của vị trí i (đếm từ phải, bắt đầu từ không) là base^i. Giá trị của số là tổng digit × base^i trên tất cả các vị trí. Chuỗi 352 trong cơ số 10 có nghĩa là 3×100 + 5×10 + 2×1 = 352. Chuỗi 1011 trong cơ số 2 có nghĩa là 1×8 + 0×4 + 1×2 + 1×1 = 11 trong hệ thập phân.

Ký hiệu vị trí là một trong hai phát minh lớn về biểu diễn số. Loại kia là không vị trí (chữ số La Mã, chữ hieratic Ai Cập), trong đó các ký hiệu có giá trị cố định bất kể vị trí. Hệ vị trí có tính nén; hệ không vị trí thì không, số 1.888 cần bốn chữ số trong hệ thập phân nhưng tám ký tự trong La Mã: MDCCCLXXXVIII.

Lịch sử ngắn về các cơ số

Người Babylon đã dùng hệ số cơ số 60 (sexagesimal) ít nhất từ thời kỳ Old Babylonian, khoảng năm 1900-1600 TCN. Các bảng cuneiform từ thời đó đã sử dụng ký hiệu vị trí. Tại sao 60? Nó có số lượng ước số nhỏ đặc biệt cao (1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60), giúp tính toán phân số dễ hơn trong thế giới trước khi có phân số thập phân. Di sản Babylon vẫn còn trong túi bạn: thời gian (60 giây trong một phút, 60 phút trong một giờ) và góc / tọa độ địa lý (360 độ trong một vòng tròn, 60 phút cung trên một độ, 60 giây cung trên một phút) là con cháu trực tiếp. Khi bạn đọc đồng hồ hay vĩ độ, bạn đang đọc sexagesimal.

Hệ thập phân vị trí như chúng ta biết được phát triển bởi các nhà toán học Ấn Độ vào những thế kỷ đầu sau Công nguyên. Bước nhảy vọt về khái niệm phân biệt nó với các bàn tính trước đây là một ký hiệu viết cho số không đóng vai trò giữ chỗ. Việc sử dụng số không trong ngữ cảnh vị trí sớm nhất không thể nhầm lẫn thường được cho là của Brahmagupta (628 SCN), người có luận văn Brāhmasphuṭasiddhānta đã đưa ra các quy tắc số học với số không. Bản thảo Bakhshali cho thấy việc sử dụng chấm (bindu) làm giữ chỗ sớm hơn nữa.

Hệ thập phân du hành từ Ấn Độ đến thế giới Hồi giáo vào thế kỷ 8-9, nhà học giả Ba Tư al-Khwārizmī đã viết On the Calculation with Hindu Numerals vào khoảng năm 825 SCN («algorithm» và «algebra» là con cháu từ nguyên học trực tiếp của tên và tên sách của ông). Châu Âu tụt hậu. Leonardo of Pisa, còn được biết là Fibonacci, đã chính thức giới thiệu chữ số Hindu-Arabic vào Châu Âu Latin trong Liber Abaci (1202), chứng minh sự vượt trội của chúng so với chữ số La Mã. Chữ số La Mã vẫn tồn tại trong sổ sách kế toán Châu Âu đến thế kỷ 16.

Gottfried Wilhelm Leibniz đã mô tả hệ nhị phân đầy đủ trong bài báo năm 1703 Explication de l'arithmétique binaire: dù động lực chính của ông là triết học (thư từ với I Ching) hơn là thực tiễn. Bước nhảy vọt đến máy tính nhị phân đến với luận văn thạc sĩ năm 1937 của Claude Shannon tại MIT, «A Symbolic Analysis of Relay and Switching Circuits,» đã chứng minh đại số Boolean có thể mô hình hóa mạng lưới rơle điện, biến nhị phân thành ngôn ngữ tự nhiên của logic kỹ thuật số.

Các thuật toán chuyển đổi

Thập phân sang cơ số khác, chia liên tiếp. Để chuyển số nguyên thập phân N sang cơ số b, chia N cho b, ghi lại số dư, thay N bằng thương, và lặp lại cho đến khi thương bằng 0. Các số dư đọc từ dưới lên là các chữ số trong cơ số b. Ví dụ minh họa cho 156 sang nhị phân: 156÷2 = 78 r0, 78÷2 = 39 r0, 39÷2 = 19 r1, 19÷2 = 9 r1, 9÷2 = 4 r1, 4÷2 = 2 r0, 2÷2 = 1 r0, 1÷2 = 0 r1, đọc số dư từ dưới lên: 10011100. Kiểm tra: 128 + 16 + 8 + 4 = 156.

Cơ số khác sang thập phân, phương pháp Horner. Bắt đầu với 0; với mỗi chữ số từ trái sang phải, nhân tổng đang chạy với cơ số và cộng chữ số mới. Ví dụ minh họa cho hex 1F4: 0×16 + 1 = 1, rồi 1×16 + 15 = 31, rồi 31×16 + 4 = 500.

Cả hai thuật toán chạy trong thời gian tuyến tính so với số chữ số, và BigInt của JavaScript triển khai chúng bên dưới, đó là lý do tại sao công cụ này không có giới hạn độ chính xác. Một số 200 chữ số chuyển đổi sạch sẽ giữa bất kỳ hai cơ số nào mà không mất độ chính xác, giống như máy tính với số học nguyên độ chính xác tùy ý.

Bốn cơ số quan trọng trong máy tính

Các lũy thừa của 2 đáng ghi nhớ

Lũy thừaThập phânHexTại sao quan trọng
2⁸2560x100Một byte; giá trị tối đa của kênh 8-bit (RGB)
2¹⁰1,0240x400«1K» trong bối cảnh máy tính
2¹⁶65,5360x10000Kích thước BMP UTF-16; max số nguyên 16-bit
2²⁰1,048,5760x100000«1M» trong bối cảnh máy tính
2²⁴16,777,2160x1000000RGB 24-bit («16,7M màu»)
2³²~4,3 tỷ0x100000000Max số nguyên không dấu 32-bit; không gian địa chỉ IPv4
2⁶⁴~1.8×10¹⁹0x100…Max số nguyên 64-bit; vượt xa độ chính xác dấu phẩy động

Khi nào bạn cần dùng công cụ chuyển đổi cơ số

Các cơ số khác đáng biết

Quy ước tiền tố trong mã nguồn

Hầu hết các ngôn ngữ hiện đại dùng cùng tập tiền tố literal để phân biệt cơ số trong mã nguồn:

Câu Hỏi Thêm

Còn số âm thì sao?

Máy tính biểu diễn số nguyên âm bằng bù hai: đảo ngược tất cả các bit và cộng 1. Vì vậy trong bù hai 8-bit, −1 là 11111111 (0xFF), −5 là 11111011 (0xFB), và −128 là 10000000 (0x80). Bit có trọng số cao nhất biểu thị dấu. Công cụ này hiển thị số nguyên âm với dấu trừ đứng đầu thay vì biểu diễn bù hai, vì biểu diễn sau chỉ có nghĩa ở một chiều rộng bit cố định, và vì công cụ dùng BigInt độ chính xác tùy ý, không có chiều rộng cố định để diễn giải.

Tại sao hex dùng chữ cái A-F?

Vì cơ số 16 cần 16 ký hiệu chữ số riêng biệt trong khi các chữ số thập phân 0-9 chỉ cung cấp mười. Quy ước dùng A-F (không phân biệt hoa thường) cho 10-15 được phổ biến bởi IBM System/360 vào những năm 1960 và được chuẩn hóa trong toàn ngành. Các hệ thống trước thử nghiệm các ký tự khác (Bendix G-15 dùng u, v, w, x, y, z) nhưng A-F đã thắng.

Công cụ này có xử lý phân số không?

Không, chỉ dành cho số nguyên. Chuyển đổi cơ số cho phân số phức tạp hơn vì hầu hết phân số thập phân không có biểu diễn chính xác trong nhị phân (vấn đề dấu phẩy động nổi tiếng 0.1 + 0.2 ≠ 0.3). Để kiểm tra cấp bit dấu phẩy động, công cụ trực quan hóa IEEE 754 chuyên dụng là lựa chọn đúng.

Có gì được gửi đến máy chủ không?

Không. Các phép chuyển đổi chạy trong trình duyệt của bạn bằng số học BigInt gốc của JavaScript. Không có gì về dữ liệu đầu vào rời khỏi trang; công cụ hoạt động ngoại tuyến sau khi đã tải.

Công cụ liên quan