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

Tìm hiểu cách sử dụng các lệnh chuyển đổi cơ sở do Linux cung cấp, cũng như cách sử dụng tập lệnh và bí danh để hợp lý hóa quy trình

  • Hình ảnh Matejmo / Getty

    Bạn có thể không thường xuyên gặp thách thức khi chuyển đổi các số từ hệ thống đánh số này sang hệ thống đánh số khác, nhưng khi gặp khó khăn, bạn có thể thực hiện việc đó bằng một trong hai lệnh khá dễ dàng trên dòng lệnh Linux

    Chuyển đổi trong đầu của bạn có thể bị đánh thuế, đặc biệt là đối với các số dài hơn. Trong khi hệ thống đánh số thập phân cho phép bất kỳ chữ số nào trong một số có bất kỳ giá trị nào trong số mười giá trị [0-9], thì các chữ số trong số thập lục phân có thể có 16 [0-F], các chữ số trong số bát phân chỉ có tám [0-7] và các chữ số trong

    Và, dù muốn hay không, thỉnh thoảng bạn vẫn có khả năng gặp phải các số được hiển thị ở dạng thập lục phân hoặc bát phân và biết cách chuyển đổi chúng từ cơ số này sang cơ số khác có thể hữu ích

    Để bắt đầu, các số thập phân từ 5 đến 16 trong bốn hệ thống đánh số trông như thế này

      5    6    7     8     9   10   11   12   13   14    15     16  “
    read number
    printf ‘%x\n’ $number
    
    5

    Với số lớn hơn tiếp theo, số thập phân 17, chúng ta nhận được 21—hai số thập phân 8 và một kết quả 1

    #!/bin/bash
    
    echo -n “Enter a decimal number> “
    read number
    printf ‘%x\n’ $number
    
    6

    Lệnh bc hoạt động tốt với nhị phân cũng như với hex và bát phân, vì vậy chúng tôi cũng có thể chuyển đổi số thành nhị phân. Đây là lệnh hiển thị số thập phân 16 dưới dạng số nhị phân

    $ echo “obase=2; 16” | bc
    10000
    

    Được mô tả trong cơ sở 10, đó là một số 16, không có số 8, không có số 4, không có số 2 và không có số 1

    Trong khi hệ thống nhị phân được sử dụng vì nó hoạt động trực tiếp với trạng thái bật/tắt của thiết bị điện tử, hệ thống bát phân và thập lục phân cung cấp các chuyển đổi dễ dàng để con người chúng ta không phải nhìn vào chuỗi dài 0 và 1. Ngay cả điều này cũng không hạn chế hoạt động của lệnh bc mà không có vấn đề gì khi làm việc với cơ số 3, cơ số 7 hoặc bất kỳ cơ sở đánh số nào khác mà bạn có thể muốn thử nghiệm

    #!/bin/bash
    
    echo -n “Enter a decimal number> “
    read number
    printf ‘%x\n’ $number
    
    8

    Được mô tả là số thập phân, 121 trong ví dụ trên đại diện cho một số 9, hai số 3 và một số 1. Đây là phiên bản cơ sở 7

    $ printf ‘%x\n’ 15
    f
    
    0

    Các chữ số trên đại diện cho hai số thập phân 7 và hai số 1

    Chuyển đổi số thành số thập phân với bc

    Với tất cả những gì đã nói, bạn cũng có thể sử dụng lệnh bc để biến các số được biểu thị bằng hex, bát phân hoặc nhị phân thành thập phân. Chỉ cần chỉ định giá trị obase [cơ sở đầu ra] là 10, số ibase [cơ sở đầu vào] là 16 nếu là số bắt đầu của hex, 8 nếu là bát phân và 2 nếu là nhị phân như trong các ví dụ được hiển thị bên dưới

    $ printf ‘%x\n’ 15
    f
    
    1

    Như trong trường hợp trước đó, việc chuyển các lệnh này thành tập lệnh chỉ mất một chút nỗ lực

    hex2dec

    $ printf ‘%x\n’ 15
    f
    
    2

    oct2dec

    $ printf ‘%x\n’ 15
    f
    
    3

    bin2dec

    $ printf ‘%x\n’ 15
    f
    
    4

    Sử dụng bí danh cho chuyển đổi cơ sở số

    Mặc dù các tập lệnh được hiển thị ở trên rất dễ thiết lập, nhưng có lẽ cách thuận tiện nhất để triển khai bất kỳ chuyển đổi nào được hiển thị là thiết lập chúng dưới dạng một nhóm bí danh. Thêm bí danh bên dưới vào ~/. bashrc sẽ cung cấp chúng trong lần đăng nhập tiếp theo của bạn hoặc ngay sau khi bạn lấy nguồn tệp [e. g. , bằng cách chạy. ~/. bashrc]

    $ printf ‘%x\n’ 15
    f
    
    5

    Sau đó, bạn có thể chạy bí danh như thế này

    $ printf ‘%x\n’ 15
    f
    
    6

    Gói [lại

    Chuyển đổi số từ hệ thống đánh số này sang hệ thống đánh số khác có thể rất tẻ nhạt, nhưng bạn có thể tránh được nhiều rắc rối cho mình bằng cách sử dụng lệnh printf và bc, đặc biệt nếu bạn thiết lập chúng dưới dạng tập lệnh hoặc bí danh

    Tiếp theo đọc cái này

    • 9 chứng chỉ Wi-Fi thúc đẩy sự nghiệp
    • MPLS là gì và tại sao nó vẫn chưa chết?
    • 11 cách liệt kê và sắp xếp file trên Linux
    • 5 trình quét lỗ hổng mạng miễn phí
    • Cách đo tốc độ Wi-Fi doanh nghiệp

    Có liên quan

    • Linux

    Sandra Henry-Stocker đã quản trị hệ thống Unix hơn 30 năm. Cô ấy mô tả mình là "USL" [Unix là ngôn ngữ thứ hai] nhưng nhớ đủ tiếng Anh để viết sách và mua đồ tạp hóa. Cô ấy sống ở vùng núi ở Virginia, nơi mà khi không làm việc với hoặc viết về Unix, cô ấy sẽ đuổi những con gấu ra khỏi máng ăn cho chim của cô ấy

    Làm cách nào để chuyển đổi giữa thập phân nhị phân và thập lục phân và bát phân?

    Nhị phân sang thập lục phân. Lấy các nhóm 4 bit, từ phải sang trái và chuyển đổi trực tiếp thành các chữ số thập lục phân. Bát phân sang thập phân. Lấy từng chữ số từ phải sang trái, nhân nó với giá trị vị trí và cộng vào tổng số đang chạy . Bát phân sang nhị phân. Mở rộng từng chữ số bát phân thành 3 bit mà nó đại diện [từ trái sang phải].

    Làm cách nào để chuyển đổi giữa số thập phân nhị phân và số thập lục phân?

    Nhị phân sang thập lục phân .
    Bắt đầu từ chữ số ngoài cùng bên phải và chia số nhị phân thành các nhóm gồm bốn chữ số. Chúng được gọi là nibbles. .
    Tiếp theo, chuyển đổi từng nhóm bốn chữ số thành số thập phân
    Chuyển đổi từng giá trị thập phân thành giá trị hex tương đương
    Đặt các chữ số hex lại với nhau

    Làm thế nào để bạn chuyển đổi một số thành thập lục phân?

    Thực hiện theo các bước dưới đây để tìm hiểu cách chuyển đổi số từ thập phân sang hex. Bước 1. Đầu tiên, chia số thập phân cho 16, coi số đó là số nguyên. Bước 2. Bỏ qua phần còn lại. Bước 3. Một lần nữa chia thương số cho 16 và lặp lại cho đến khi bạn nhận được giá trị thương số bằng không

    Thuộc tính chung của nhị phân bát phân thập phân và thập lục phân là gì?

    Đặc điểm chung của hệ thống số thập phân, nhị phân và thập lục phân là chúng đều là hệ thống số định vị .

    Bài Viết Liên Quan

    Chủ Đề