Tôi đang cố gắng viết bộ giải mã cho một loại mã hóa rất đơn giản. Các số từ 0-255 được nhập thông qua Máy quét, các bit được đảo ngược, và sau đó được chuyển đổi thành một ký tự và được in.Làm thế nào tôi có thể đảo ngược các bit của một byte chưa ký trong Java?
Ví dụ: số 178 phải chuyển thành chữ "M".
178 là 10110010.
Đảo ngược tất cả các bit nên cung cấp cho 01.001.101, đó là 77 hay "M" như một nhân vật.
Vấn đề chính tôi có là, theo như tôi có thể nói, Java không hỗ trợ byte chưa ký. Tôi có thể đọc các giá trị dưới dạng int hoặc ngắn, nhưng sau đó các giá trị sẽ bị tắt trong quá trình chuyển đổi do các bit phụ. Lý tưởng nhất là tôi chỉ có thể sử dụng toán tử bổ sung bitwise, nhưng tôi nghĩ rằng tôi sẽ kết thúc nhận được các giá trị âm nếu tôi làm điều này với các số đã ký. Bất kỳ ý tưởng về cách tôi nên tiếp cận điều này?
Bạn chọn một ví dụ thực sự xấu, vì nó cho phép hai bài đọc. – starblue
Các bitmask là chính xác những gì tôi cần - Tôi không có ý tưởng bạn có thể làm điều đó. Rất hữu dụng. Cảm ơn tất cả các bạn đã trả lời. – DavidKelly999