Trong tập lệnh bash
của tôi, tôi có một chuỗi chứa số thập lục phân, ví dụ: hex="0x12345678"
. Có thể coi nó như là một số hex và làm bit chuyển vào nó?Làm thế nào để thực hiện các thao tác bitwise trên các số thập lục phân trong bash?
8
A
Trả lời
7
Bạn có thể dễ dàng bitshift số như vậy trong bối cảnh số học:
$ hex="0x12345678"
$ result=$((hex << 1))
$ printf "Result in hex notation: 0x%x\n" "$result"
0x2468acf0
2
Yes.
Biểu thức số học hỗ trợ 16 số cơ sở và tất cả các toán tử C
thông thường.
Ví dụ:
$ hex="0xff"
$ echo $((hex >> 1))
127
7
Tất nhiên bạn có thể làm hoạt động Bitwise (bên trong một Expansion Arithmetic):
$ echo "$((0x12345678 << 1))"
610839792
Hoặc:
$ echo "$((16#12345678 << 1))"
610839792
Giá trị có thể được đặt trong một cũng thay đổi:
$ var=0x12345678 # or var=16#12345678
$ echo "$((var << 1))"
610839792
Và bạn có thể làm OR, AND và XOR:
$ echo "$((0x123456 | 0x876543))"
9925975
Và để có được kết quả trong hex cũng như:
$ printf '%X\n' "$((0x12345678 | 0xDEADBEEF))" # Bitwise OR
DEBDFEFF
$ printf '%X\n' "$((0x12345678 & 0xDEADBEEF))" # Bitwise AND
12241668
$ printf '%X\n' "$((0x12345678^0xDEADBEEF))" # Bitwise XOR
CC99E897
Các vấn đề liên quan
- 1. Làm cách nào để chuyển đổi các phân số thập phân thành các phân số thập lục phân?
- 2. Thao tác bitwise Golang cũng như thao tác byte chung
- 3. Số thập lục phân C#
- 4. Làm cách nào để đặt EditText thành đầu vào của chỉ các số thập lục phân?
- 5. Các cách khác để thực hiện thao tác modulo
- 6. Làm cách nào để thực hiện thao tác nhị phân hai chiều giữa các phần tử của hai vùng chứa?
- 7. Thao tác bitwise với CGBitmapInfo và CGImageAlphaInfo
- 8. Cách thực hiện các thao tác ngày trong hibernate
- 9. Làm cách nào để thực hiện các thao tác khi phát âm thanh trong iPhone?
- 10. Làm cách nào để thực hiện các thao tác trên các đối sánh Regre Backreference trong Javascript?
- 11. Làm thế nào để thực hiện các truy vấn bitwise DB trong Django?
- 12. Cách chính xác để thực hiện các thao tác trên các mảng Memmapped
- 13. Làm thế nào để in số thập lục phân trong PHP hoặc Java
- 14. Java thập lục phân
- 15. php chuyển đổi số thập phân sang thập lục phân
- 16. Thao tác bitwise Java Vs BigInteger
- 17. Làm thế nào để làm việc với các thao tác bit trong Swift?
- 18. In các ký tự thập lục phân trong C
- 19. Thực hiện thao tác trên đường dẫn tệp trong XSLT
- 20. In một mảng số nguyên như số thập lục phân
- 21. cách thực hiện thao tác grep trên tất cả các tệp trong thư mục
- 22. Làm cách nào để làm việc với các số thập phân chính xác cao trong PHP
- 23. Hệ thập lục phân đến số nguyên trong Java
- 24. Chuyển đổi giữa số thập phân, nhị phân và thập lục phân trong Swift
- 25. Làm thế nào để thực hiện thao tác groupBy trong Angular 2?
- 26. Python Hệ thập lục phân
- 27. Làm thế nào để làm cho gdb in ra tất cả các giá trị trong chế độ thập lục phân?
- 28. Làm cách nào để thực hiện thao tác 'hoàn tác' trong ứng dụng cửa sổ .net?
- 29. Đọc các giá trị thập lục phân bằng tiếng Anh
- 30. Hệ thập lục phân Dấu phẩy động thập phân