Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Linux

Sử dụng Linux bc làm Máy tính Hex:Hướng dẫn dòng lệnh nhanh

Nhiều triển khai hệ điều hành giống Unix khác nhau như Linux và hầu hết mọi thứ có bộ GNU đều bao gồm ngôn ngữ máy tính cơ bản bc. Cú pháp của nó rất giống với ngôn ngữ lập trình C. Bạn có thể sử dụng nó như một công cụ tính hệ thập lục phân ngay từ dòng lệnh, do đó, bạn sẽ không bao giờ cần phải tải xuống ứng dụng thập lục phân hoặc bát phân nào đó cho điện thoại của mình nữa.

Đây là tin tuyệt vời cho các nhà phát triển và bất cứ ai đang làm một số bài tập về nhà. Tuy nhiên, bạn sẽ cần phải mở một thiết bị đầu cuối để thực hiện việc này. Giữ phím Ctrl, Alt và T hoặc tìm kiếm từ terminal trên Ubuntu Unity Dash. Bạn có thể muốn khởi động nó từ menu Whisker hoặc Ứng dụng trong Công cụ hệ thống. Người dùng macOS có thể khởi động thiết bị đầu cuối từ thư mục Tiện ích hoặc bằng cách nhấp vào thanh công cụ nếu nó được ghim. Bạn có thể tìm thấy bc trên hầu hết các hệ điều hành giống Unix ngày nay chứ không chỉ trong Linux.

Phương pháp 1:Sử dụng bc để chuyển đổi số thập phân và thập lục phân

Nhập echo ‘obase=16;127’ | bc để chuyển đổi số 127 thành số thập lục phân từ số cơ sở 10 thông thường. Đương nhiên, bạn có thể thay thế số đó bằng bất kỳ số nguyên nào. Kết quả bạn sẽ nhận được là 7F và nếu bạn muốn chuyển đổi về cơ số 10 thông thường, bạn có thể nhập echo ‘ibase=16;obase=A;7F’ | bc và nhấn enter. Nó đơn giản và có thể được sử dụng bất cứ lúc nào với bất kỳ số hex hợp lệ nào. Vì đây là lệnh kiểu Unix hợp lệ nên bạn cũng có thể kết hợp lệnh này vào bất kỳ loại tập lệnh shell nào. Thật dễ dàng để nhớ rằng bạn có thể sử dụng tính năng này từ dòng lệnh bất cứ lúc nào bạn cần chuyển đổi qua lại một số một cách nhanh chóng.

Phương pháp 2:Chuyển đổi số nhị phân và số thập lục phân bằng máy tính bc Hex

Tại dấu nhắc lệnh, gõ echo ‘obase=16;ibase=2;111010001’ | bc để chuyển đổi một số nhị phân thành số hex. Nhấn enter và bạn sẽ nhận được 1D1 làm câu trả lời. Đương nhiên, bạn có thể điền vào dòng nhị phân đó bất kỳ số nhị phân nào bạn cần chuyển đổi vào thời điểm đó. Một lần nữa, điều ngược lại cũng đúng và có thể sử dụng máy tính hex đi kèm để chuyển đổi số hex thành số nhị phân. Đang gõ echo ‘obase=2;ibase=16;1D1’ | bc và nhấn enter, bạn sẽ lấy lại số ban đầu nhưng bạn có thể thay thế 1D1 bằng các giá trị hex hợp lệ khác.

Nếu bạn sử dụng điều này thường xuyên thì bạn sẽ cần ghi nhớ hai điểm. Một là các chữ cái vốn có trong số thập lục phân phải luôn là chữ hoa, vì phần mềm bc coi các chữ cái viết thường là các biến đại số. Thứ hai là tất cả các lệnh này có thể được chạy bởi người dùng thông thường và bạn không cần quyền truy cập root để thực hiện chúng trên bất kỳ phiên bản Linux hoặc Unix hiện đại nào.

Phương pháp 3:Sử dụng bc làm Công cụ tính Hex đầy đủ

Bạn cũng có thể sử dụng lệnh bc làm công cụ tính hex để thực hiện phép tính số học nếu cần. Hầu hết mọi người sẽ không có nhu cầu này, nhưng những người lập trình có thể cần tìm ra sự khác biệt giữa hai vị trí khác nhau trong bộ nhớ. Đây cũng là câu hỏi thực sự phổ biến của những người đang làm bài tập tin học ở trường trung học và đại học!

Giả sử bạn có một số hex là EE65522D và bạn muốn trừ C3EFAF86 khỏi số đó. Bạn có thể gõ echo ‘ibase=16;EE65522D-C3EFAF86’ | bc và nhấn enter để tìm câu trả lời. Nếu bạn muốn câu trả lời ở dạng thập lục phân thì bạn có thể thử echo ‘obase=16;ibase=16;EE65522D-C3EFAF86’ | bc để giải quyết nó theo cách đó. Các phép tính số học khác cũng được cho phép. Ví dụ:echo ‘obase=16;ibase=16;EE65522D*C3EFAF86’ | bc sẽ nhân hai giá trị. Tất nhiên bạn có thể sử dụng + làm toán hạng cho phép cộng nếu muốn. Sử dụng / để chia không trả về số dư; bạn cần sử dụng % cho mô-đun để thực hiện điều đó.

Ví dụ:đang chạy  echo ‘obase=16;ibase=16;EE65522D%C3EFAF86’ | bc trả về giá trị 2A75A2A7, vì thương của phương trình đó là 1 dư 2A75A2A7 khi chạy qua máy tính hex. Chạy toán hạng / trước rồi đến toán hạng % để tìm cả hai giá trị.

GIỚI THIỆU TÁC GIẢ

Sử dụng Linux bc làm Máy tính Hex:Hướng dẫn dòng lệnh nhanh

Mũi tên Kevin

Kevin Arrows là một chuyên gia công nghệ giàu kinh nghiệm và hiểu biết với hơn một thập kỷ kinh nghiệm trong ngành. Anh có chứng chỉ Chuyên gia Công nghệ được Chứng nhận của Microsoft (MCTS) và có niềm đam mê sâu sắc trong việc cập nhật những phát triển công nghệ mới nhất. Kevin đã viết nhiều về nhiều chủ đề liên quan đến công nghệ, thể hiện chuyên môn và kiến ​​thức của mình trong các lĩnh vực như phát triển phần mềm, an ninh mạng và điện toán đám mây. Những đóng góp của ông cho lĩnh vực công nghệ đã được các đồng nghiệp công nhận và tôn trọng rộng rãi, đồng thời ông được đánh giá cao nhờ khả năng giải thích các khái niệm kỹ thuật phức tạp một cách rõ ràng và ngắn gọn.