Tôi cần phải chuyển đổi byte theo định dạng bổ sung của hai thành số byte nguyên dương. Phạm vi -128 đến 127 ánh xạ tới từ 0 đến 255.Chuyển đổi bổ sung của Hai
Examples: -128 (10000000) -> 0 , 127 (01111111) -> 255, etc.
EDIT Để làm sáng tỏ sự nhầm lẫn, byte đầu vào là (tất nhiên) một số nguyên unsigned trong khoảng từ 0 đến 255. NHƯNG nó đại diện một số nguyên đã ký trong phạm vi -128 đến 127 bằng cách sử dụng định dạng bổ sung của hai. Ví dụ, giá trị byte đầu vào là 128 (nhị phân 10000000) thực sự đại diện cho -128.
CHỈNH SỬA EXTRA Được rồi, giả sử chúng tôi có luồng byte sau 0,255,254,1,127. Trong định dạng bổ sung của hai, điều này đại diện cho 0, -1, -2, 1, 127. Điều này tôi cần kẹp đến khoảng 0 đến 255. Để biết thêm thông kiểm tra khó có thể tìm thấy bài viết này: Two's complement
'byte' không được ký kết, anh đang cố gắng để làm gì? – leppie
Tôi vẫn chưa hoàn toàn chắc chắn những gì đã được thử ở đây. Hoặc đó là cách tất cả các câu trả lời cung cấp cho bạn, hoặc bạn hiểu sự đại diện bổ sung của 2 không chính xác. – leppie