Chuyển đổi giữa Decimal, Binary, Hex, Octal
Công cụ Binary Converter của Tấn Phát Digital là giải pháp toàn diện cho developers, students, và professionals cần chuyển đổi số giữa các hệ cơ số phổ biến nhất trong computing: Decimal (thập phân, base 10) - hệ số quen thuộc hàng ngày, Binary (nhị phân, base 2) - ngôn ngữ nền tảng của mọi máy tính với chỉ 0 và 1, Hexadecimal (thập lục phân, base 16) - được sử dụng rộng rãi trong programming cho màu CSS, memory addresses, và byte values, và Octal (bát phân, base 8) - phổ biến trong Unix file permissions. Đặc biệt có tính năng chuyển đổi Text sang Binary và ngược lại - mỗi ký tự ASCII được biểu diễn bằng 8 bits (1 byte), cho phép bạn thấy cách máy tính thực sự lưu trữ text dưới dạng binary. Nhập số vào bất kỳ ô nào (Decimal, Binary, hoặc Hex), các ô còn lại tự động cập nhật realtime không cần nhấn nút convert, tiết kiệm thời gian đáng kể. Copy từng kết quả với một click vào clipboard. Giao diện trực quan với labels rõ ràng cho từng hệ cơ số. Công cụ xử lý hoàn toàn offline trên trình duyệt sử dụng JavaScript native functions, không gửi data lên server, đảm bảo bảo mật và privacy. Hoàn toàn miễn phí, không giới hạn số lượng chuyển đổi, không cần đăng ký tài khoản. Đây là công cụ học tập tuyệt vời cho students học về computer science fundamentals, number systems, và cách máy tính lưu trữ và xử lý dữ liệu ở mức low-level. Cũng hữu ích cho developers làm việc với binary data, embedded systems, network protocols, và debugging hex dumps.
Binary (nhị phân) là hệ cơ số 2, chỉ sử dụng hai chữ số 0 và 1. Đây là ngôn ngữ cơ bản của máy tính vì transistors trong CPU chỉ có hai trạng thái: on (1) và off (0). Mọi dữ liệu trong máy tính - text, images, videos, programs - đều được lưu trữ dưới dạng binary. Hiểu binary giúp bạn hiểu cách máy tính hoạt động ở mức cơ bản nhất. Hexadecimal (hex) là cách viết tắt của binary (1 hex = 4 bits), được dùng rộng rãi trong lập trình vì dễ đọc hơn. Octal ít phổ biến hơn nhưng vẫn xuất hiện trong Unix permissions.
Mỗi ký tự được gán một số (code point) theo bảng mã chuẩn. ASCII (1963): 7-bit encoding, 128 characters (0-127), bao gồm A-Z, a-z, 0-9, punctuation, control characters. 'A' = 65 (decimal) = 01000001 (binary). Extended ASCII: 8-bit, 256 characters, thêm accented letters và symbols. Unicode: Universal character set với >140,000 characters, mỗi character có unique code point (U+0041 = 'A', U+1F600 = 😀). UTF-8: Variable-length encoding của Unicode, 1-4 bytes per character. ASCII characters = 1 byte, tiếng Việt = 2-3 bytes, emoji = 4 bytes. Công cụ này sử dụng ASCII/UTF-8 encoding, mỗi ký tự cơ bản chiếm 8 bits (1 byte). 'Hello' = 01001000 01100101 01101100 01101100 01101111 (5 bytes). Hiểu character encoding giúp debug mojibake (hiển thị sai ký tự), handle international text, và work với binary file formats.
Binary applications: Bitwise operations (&, |, ^, ~, <<, >>) trong low-level programming. Network subnet masks: 255.255.255.0 = 11111111.11111111.11111111.00000000. Unix file permissions: rwxr-xr-x = 111101101 = 755 (octal). Flags và bit fields trong game development, embedded systems. Image processing: pixel manipulation at bit level. Compression algorithms: Huffman coding, LZW. Hex applications: CSS colors: #FF5733 = RGB(255, 87, 51) - mỗi pair = 1 byte (0-255). Memory addresses: 0x7FFF5FBFF8C0 trong debuggers. MAC addresses: 00:1A:2B:3C:4D:5E - 6 bytes. Cryptographic hashes: MD5 (32 hex chars = 128 bits), SHA-256 (64 hex chars = 256 bits). Hex editors: View/edit binary files. Assembly language: MOV AX, 0xFF. Unicode escapes: \u0041 = 'A'. Binary file signatures: PNG starts với 89504E47, PDF với 25504446.
Máy tính biểu diễn số âm bằng Two's Complement - phương pháp phổ biến nhất. Với 8-bit signed integer: Positive: 0 đến 127 (0xxxxxxx). Negative: -128 đến -1 (1xxxxxxx). Cách tính Two's Complement của -N: 1) Viết binary của N. 2) Đảo tất cả bits (NOT). 3) Cộng 1. Ví dụ -5 trong 8-bit: 5 = 00000101. NOT = 11111010. +1 = 11111011 = -5. Verify: 11111011 + 00000101 = 100000000 (overflow, giữ 8 bits = 00000000 = 0). Ưu điểm Two's Complement: Addition works cho cả positive và negative. Chỉ có một representation của 0. Hardware implementation đơn giản. Ranges: 8-bit signed: -128 to 127. 16-bit: -32768 to 32767. 32-bit: -2^31 to 2^31-1.
Số thực (floating point) được biểu diễn theo IEEE 754 standard. 32-bit float (single precision): 1 bit sign, 8 bits exponent, 23 bits mantissa. 64-bit double: 1 bit sign, 11 bits exponent, 52 bits mantissa. Format: (-1)^sign × 1.mantissa × 2^(exponent-bias). Ví dụ đơn giản: 0.5 = 1.0 × 2^(-1). Tại sao 0.1 + 0.2 ≠ 0.3 trong JavaScript? 0.1 và 0.2 không thể biểu diễn chính xác trong binary (như 1/3 trong decimal). Kết quả: 0.30000000000000004. Solutions: Dùng integers (cents thay vì dollars). Libraries như decimal.js. Round khi display. Special values: Infinity, -Infinity, NaN (Not a Number). Hiểu IEEE 754 giúp debug floating point issues trong financial và scientific applications.
Hex được dùng rộng rãi vì là perfect balance giữa human readability và binary representation. Mỗi hex digit = exactly 4 bits, nên 1 byte = 2 hex digits (00-FF). Use cases phổ biến: Màu CSS (#FF0000 = đỏ, #00FF00 = xanh lá), memory addresses trong debuggers (0x7FFF5FBFF8C0), byte values khi làm việc với binary data, MAC addresses (00:1A:2B:3C:4D:5E), Unicode code points (U+0041 = 'A', U+1F600 = 😀), cryptographic hashes (MD5, SHA-256 output), assembly language instructions, và hex editors để view/edit binary files. Hex compact hơn binary nhiều lần (FF vs 11111111) và maps trực tiếp sang binary, không như decimal.
8 bits = 1 byte là đơn vị cơ bản trong modern computing, đủ để biểu diễn 256 giá trị (0-255). ASCII gốc chỉ cần 7 bits (128 characters: A-Z, a-z, 0-9, punctuation, control chars), nhưng 8 bits trở thành standard vì: Hardware được design với 8-bit bytes, Extended ASCII dùng bit thứ 8 cho thêm 128 characters (accented letters, symbols), và 8 là power of 2 (convenient cho binary operations). Unicode characters có thể cần nhiều bytes hơn: UTF-8 dùng 1-4 bytes per character (ASCII = 1 byte, tiếng Việt = 2-3 bytes, emoji = 4 bytes). Công cụ này dùng 8-bit ASCII representation cho simplicity.
Công cụ hiện tại hỗ trợ ASCII cơ bản (128 characters đầu tiên). Tiếng Việt và Unicode phức tạp hơn vì dùng UTF-8 encoding với variable-length bytes: ASCII characters (A-Z, 0-9) = 1 byte. Latin extended (é, ñ) = 2 bytes. Tiếng Việt có dấu (á, ă, â, ơ, ư) = 2-3 bytes. CJK characters (中文, 日本語) = 3 bytes. Emoji (😀, 🎉) = 4 bytes. Ví dụ: 'Việt' trong UTF-8 binary sẽ rất dài vì mỗi ký tự có dấu cần 2-3 bytes. Để convert tiếng Việt, cần UTF-8 aware tool hoặc programming với proper encoding handling.
Binary → Decimal: Nhớ powers of 2 (1, 2, 4, 8, 16, 32, 64, 128, 256...). Mỗi vị trí từ phải sang trái có giá trị 2^n. Cộng các giá trị ở vị trí có bit 1. Ví dụ: 1011 = 8+0+2+1 = 11. 11111111 = 128+64+32+16+8+4+2+1 = 255. Tip: 11111111 (8 ones) = 2^8 - 1 = 255. Decimal → Binary: Chia liên tục cho 2, ghi phần dư, đọc ngược. Hoặc: Tìm power of 2 lớn nhất ≤ số, trừ đi, repeat. 13 = 8+4+1 = 1101. Quick patterns: 10 = 1010, 100 = 1100100, 255 = 11111111, 256 = 100000000.
Octal (base 8) chủ yếu dùng trong Unix/Linux file permissions vì perfect mapping: mỗi octal digit = 3 bits = 3 permission bits (read, write, execute). chmod 755: 7 (111) = rwx cho owner, 5 (101) = r-x cho group và others. Permission values: r=4, w=2, x=1. Cộng lại: rwx=7, rw-=6, r-x=5, r--=4, -wx=3, -w-=2, --x=1, ---=0. Ví dụ thực tế: 644 = rw-r--r-- (files), 755 = rwxr-xr-x (executables, directories), 600 = rw------- (private files). Octal ít dùng ngoài permissions trong modern programming, nhưng vẫn xuất hiện trong legacy code và một số languages (0755 trong C/JS là octal literal).
Không cần nhấn nút! Công cụ sử dụng realtime conversion - khi bạn nhập vào bất kỳ ô nào (Decimal, Binary, hoặc Hex), các ô còn lại tự động cập nhật ngay lập tức. Điều này tiết kiệm thời gian đáng kể khi cần convert nhiều số hoặc explore relationships giữa các bases. Ví dụ: Nhập 255 vào Decimal → Binary tự động hiện 11111111, Hex hiện FF, Octal hiện 377. Thay đổi Binary thành 11111110 → Decimal tự động update thành 254. Validation cũng realtime - nếu nhập invalid character cho base đã chọn (ví dụ: 'G' trong Hex), các ô khác sẽ clear và không hiện error message gây distraction.
Mỗi character được convert thành 8-bit binary representation, separated by spaces để dễ đọc. Ví dụ: 'Hi' = '01001000 01101001'. H = ASCII 72 = 01001000, i = ASCII 105 = 01101001. Spaces giữa bytes giúp: Dễ đọc và count characters, dễ identify từng byte, match với cách binary thường được display trong hex editors và debuggers. Khi convert Binary to Text, tool expects space-separated 8-bit groups. Nếu paste binary không có spaces, cần add spaces mỗi 8 characters. Format này là convention phổ biến trong educational contexts và debugging.
Number conversion: JavaScript Number type có safe integer limit là 2^53 - 1 (khoảng 9 quadrillion). Với số lớn hơn có thể mất precision. Trong thực tế, đây là số 53-bit binary hoặc 13-14 hex digits - đủ cho hầu hết use cases. Text conversion: Không có hard limit, nhưng với text rất dài (>10KB), browser có thể chậm. Practical limit khoảng vài KB text cho smooth experience. Cho large data, recommend sử dụng programming languages với proper libraries. Công cụ này optimized cho typical use cases: quick conversions, learning, và debugging small amounts of data.
Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.