🛝Toolio
Giới thiệu Liên hệ

🧮 Máy tính lập trình viên

Một máy tính lập trình viên xử lý thập lục phân, thập phân, bát phân và nhị phân cùng lúc, với các phép toán bit và kích thước từ cố định mà lập trình cấp thấp cần. Nhập một giá trị theo bất kỳ cơ số nào, áp dụng AND, OR, XOR, NOT, dịch bit hoặc phép tính số học tại 8, 16, 32 hoặc 64 bit, và đọc kết quả trong cả bốn cơ số cùng lúc — hoàn toàn miễn phí và chỉ chạy trong trình duyệt của bạn mà không cần tải lên bất cứ thứ gì.

Một máy tính lập trình viên là một công cụ trực tuyến miễn phí hiển thị một số trong thập lục phân, thập phân, bát phân và nhị phân cùng lúc và tính toán các phép toán bit (AND, OR, XOR, NOT, dịch bit) tại kích thước từ cố định là 8, 16, 32 hoặc 64 bit — hoàn toàn trong trình duyệt của bạn.

8 16 32 64
HEX0
DEC0
OCT0
BIN0
Bit — nhấn để đảo
AND OR XOR NOT NAND NOR XNOR ± Lsh Rsh Mod
CE AC ÷ A B C × D E F 7 8 9 + 4 5 6 1 2 3 0 =

Tip: use your keyboard — digits, A–F, + − * /, & | ^ ~ for AND/OR/XOR/NOT, Enter for =.

Riêng tư từ thiết kế. Công cụ này chạy hoàn toàn trong trình duyệt của bạn — không có gì bạn nhập bị tải lên hay lưu lại, và hoạt động cả khi ngoại tuyến.

Giới thiệu

Một máy tính lập trình viên hoạt động theo cách mà các lập trình viên thực sự nghĩ về các con số: theo bit và byte, qua nhiều cơ số cùng lúc. Nhập một giá trị theo thập lục phân, thập phân, bát phân hoặc nhị phân và công cụ sẽ hiển thị tất cả bốn biểu diễn cùng lúc, cập nhật theo thời gian thực khi bạn nhập. Dưới màn hình, một lưới bit tương tác cho phép bạn xem từng bit của giá trị hiện tại và đảo bất kỳ bit nào bằng một lần chạm — vô cùng hữu ích để tạo mặt nạ bit, thiết lập cờ hiệu hoặc hiểu cách một thanh ghi được bố trí.

Máy tính hỗ trợ đầy đủ bộ các phép toán bit mà lập trình hệ thống hàng ngày phụ thuộc: AND, OR, XOR, NOT, NAND, NOR và XNOR, cùng với các phép dịch trái và dịch phải logic (Lsh và Rsh) và modulo. Bạn cũng có thể thực hiện các phép tính số học thông thường — cộng, trừ, nhân, chia — và lấy phép phủ định theo bù hai của bất kỳ giá trị nào. Mọi kết quả đều được tính toán theo kích thước từ bạn chọn: 8, 16, 32 hoặc 64 bit. Sự tràn sẽ bao bọc chính xác như trong phần cứng có độ rộng cố định thực tế, vì vậy những gì bạn thấy sẽ khớp với kết quả mà chương trình C, Rust hoặc Go của bạn thực sự tạo ra.

Chuyển đổi có dấu sẽ chuyển đổi hiển thị thập phân giữa cách hiểu không dấu và bù hai, và nó cũng thay đổi cách chia, modulo và dịch phải hoạt động — chia có dấu làm tròn về 0 và dịch phải có dấu bảo tồn bit dấu, giống như trình biên dịch của bạn. Tất cả mọi thứ được tính toán bằng JavaScript BigInt và được che chắn theo độ rộng từ, điều này có nghĩa là các phép toán 64 bit là chính xác; các toán tử bitwise 32 bit mặc định gây lỗi cho nhiều máy tính web khác sẽ không được sử dụng ở đây.

Công cụ cũng hữu ích hơn nhiều ngoài lập trình chuyên nghiệp. Sinh viên học kiến trúc máy tính có thể xem bù hai, mở rộng dấu và tràn xảy ra từng bit một; các kỹ sư điện tử và người đam mê lập trình nhúng có thể tạo chính xác byte cần gửi đến thanh ghi thiết bị; và bất kỳ ai đang debug một bản hex dump, định dạng tệp hoặc gói mạng nào cũng có thể trích xuất các trường riêng mà không cần viết một đoạn mã phụ trợ. Vì tất cả các cơ số và bit luôn hiển thị cùng lúc, mối quan hệ giữa giá trị thập lục phân, bit của nó và ý nghĩa thập phân luôn luôn rõ ràng trước mắt bạn.

Vì công cụ nhắm đến công việc cấp thấp, các nhiệm vụ phổ biến mà nó giúp tăng tốc bao gồm chuyển đổi màu từ thập lục phân sang các kênh thập phân RGB, giải mã bit quyền truy cập tệp Unix, trích xuất trường từ thanh ghi trạng thái được đóng gói, kiểm tra kết quả của phép mặt nạ bit, và kiểm tra tính hợp lý của các biểu thức dịch và mặt nạ trước khi bạn đưa chúng vào mã. Tất cả mọi thứ đều chạy hoàn toàn trong trình duyệt của bạn — không máy chủ, không tài khoản, và không gì bạn nhập bao giờ rời khỏi thiết bị của bạn. Kích thước từ, chế độ dấu và giá trị hiện tại của bạn được lưu trữ cục bộ, vì vậy máy tính sẽ hoàn toàn giống như bạn đã để lại khi bạn sử dụng lần sau.

Cách sử dụng

  1. Chọn kích thước từ của bạn — 8, 16, 32 hoặc 64 bit — và bật Chế độ Dấu nếu bạn muốn thập phân theo bù hai, phép chia và phép dịch.
  2. Chọn cơ số đầu vào bằng cách nhấp vào hàng HEX, DEC, OCT hoặc BIN, sau đó nhập số của bạn bằng bàn phím hoặc bàn phím vật lý.
  3. Áp dụng một phép toán: chạm vào nút bit (AND, OR, XOR, NOT, NAND, NOR, XNOR), dịch (Lsh, Rsh), Mod hoặc phép tính + − × ÷ thông thường.
  4. Nhập toán hạng thứ hai và nhấn = để tính toán; kết quả sẽ xuất hiện cùng lúc trong thập lục phân, thập phân, bát phân và nhị phân.
  5. Nhấn vào bất kỳ bit nào trong lưới bit để đảo trực tiếp, hoặc sử dụng nút sao chép trên hàng cơ số để sao chép biểu diễn đó vào clipboard của bạn.

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

Máy tính lập trình viên này có phải là miễn phí, riêng tư và có thể sử dụng ngoại tuyến không?
Có. Nó hoàn toàn miễn phí mà không cần tài khoản hoặc đăng ký, và mọi phép tính đều chạy cục bộ trong trình duyệt của bạn bằng JavaScript — không gì bạn nhập được tải lên. Một khi trang web đã được tải, nó hoạt động đầy đủ ngoại tuyến.
Điều gì khiến nó khác với máy đổi cơ số?
Một máy đổi cơ số chỉ thay đổi cách viết một con số. Một máy tính lập trình viên cũng tính toán: nó thực hiện các phép toán bit (AND, OR, XOR, NOT), dịch bit, modulo và số học tại kích thước từ cố định, và cho phép bạn kiểm tra và đảo từng bit — trong khi vẫn hiển thị tất cả bốn cơ số cùng lúc.
Kích thước từ 8/16/32/64 bit làm gì?
Kích thước từ xác định số bit mà giá trị chiếm, giống như kiểu số nguyên trong C, Rust hoặc Go. Kết quả được che chắn theo độ rộng đó, vì vậy tràn sẽ bao bọc và các phép toán như NOT sẽ tạo ra cùng giá trị mà chương trình của bạn sẽ tạo ra. Sử dụng 8 bit cho một byte, 32 bit cho một int thông thường, hoặc 64 bit cho một long.
Chuyển đổi có dấu là gì và bù hai là gì?
Chế độ có dấu diễn giải bit trên cùng là bit dấu sử dụng bù hai, cách biểu diễn gần như tất cả CPU sử dụng. Nó thay đổi hiển thị thập phân — vì vậy 0xFF trong 8 bit sẽ hiển thị là -1 — và khiến phép chia, modulo và dịch phải hoạt động như các phép toán có dấu. Tắt nó nếu bạn muốn các giá trị không dấu như địa chỉ hoặc cờ hiệu bit.
Những phép toán bit nào được hỗ trợ?
AND, OR, XOR, NOT, NAND, NOR, XNOR, dịch trái logic (Lsh), dịch phải (Rsh) là logic khi không dấu và là số học khi có dấu, modulo, phủ định theo bù hai (±), và các phép cộng, trừ, nhân, chia thông thường.
Nó xử lý các giá trị 64 bit đúng không?
Có. Tất cả toán học sử dụng JavaScript BigInt và được che chắn theo kích thước từ đã chọn, vì vậy các phép toán 64 bit là chính xác. Điều này tránh lỗi trong nhiều máy tính web khác phụ thuộc vào toán tử bitwise mặc định của JavaScript, vốn lặng lẽ cắt gọn xuống 32 bit.
Tôi có thể dùng bàn phím không?
Có. Nhập các chữ số và A–F trực tiếp, sử dụng + − * / cho phép tính số học, & | ^ ~ cho AND/OR/XOR/NOT, < và > cho dịch bit, Enter để =, Backspace để xóa, và Esc để xóa toàn bộ.
Bạn có thể đưa ra một ví dụ cụ thể không?
Tất nhiên. Để đọc kênh đỏ của màu hex #3A7BD5, chọn 32 bit không dấu, nhập 3A7BD5 vào hàng HEX, sau đó tính giá trị Rsh 16 và AND với FF — máy tính hiển thị 58 trong thập phân, đó là giá trị đỏ (xanh lá và xanh dương sẽ ra kết quả tương tự với các dịch bit khác). Một ví dụ khác, để kiểm tra xem bit thực thi của chủ sở hữu có được thiết lập trong quyền Unix 0o755, nhập 755 vào hàng OCT và AND với 100; kết quả 100 không bằng 0, vì vậy bit đó được thiết lập. Việc xử lý các trường hợp như vậy qua tất cả bốn cơ số cùng lúc là điều mà một máy đổi cơ số đơn thuần không thể làm được.