Bài viết phổ biến của tác giả
- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Giả sử bạn có biểu diễn số nhị phân hoặc thập lục phân của một số. Hãy nhìn vào điều này:
số int = 0xffffff;
// điều này sẽ khôi phục f thứ ba, dưới dạng giá trị độc lập, giá trị của Third_f sẽ chỉ là f
int thứ ba_f = byteSubstring(số,2,1);
// f thứ ba và thứ tư, giá trị của tf sẽ là ff
int tf = byteSubstring(số,2,2);
// tất cả ngoại trừ đầu tiên, giá trị của ngoại trừ_first sẽ là fffff
int ngoại trừ_first = byteSubstring(số,1,5);
Sử dụng các thao tác bitwise riêng biệt, bút và giấy, tôi biết cách trích xuất tất cả những thứ này, nhưng kết hợp chúng trong một chức năng chung... :). Đã có chức năng nào trong JDK để thực hiện việc này cho các kiểu số chưa?
câu trả lời hay nhất
bạn có một kích cỡ
Và bù lại
Được chỉ định bằng bit. Theo truyền thống, các bit được đánh số bắt đầu bằng LSB.
bạn xử lý bù lại
di chuyển sang phải
kết quả = x >>> bù
Bạn xử lý các kích thước thông qua mặt nạ; (1 << kích thước) - 1
Đó là một chiếc mặt nạ
kết quả = kết quả & ((1 << kích thước) - 1)
Về java - Các thao tác Bitwise trên chuỗi con trong Java, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/6169907/
Tôi là một lập trình viên xuất sắc, rất giỏi!