Bạn nhận được kỳ vọng 1 từ đâu?
hiểu biết của bạn về các hoạt động Bitwise rõ ràng cho thấy thiếu, nó sẽ là khôn ngoan để làm việc qua chúng đầu tiên trước khi gửi bài ở đây ...
bạn đang không gây nhầm lẫn với một ! là một NOT hợp lý, phải không?
một ~ Bitwise bổ sung hoặc một Bitwise NOT hoạt động flips tất cả các bit 1-0 và ngược lại tùy thuộc vào nơi ở bitmask được thiết lập, ví dụ như vậy, 1 là
00000000 00000000 00000000 00000001
làm một ~ Bitwise NOT vào đó flips nó để
11111111 11111111 11111111 11111110
mang đến cho bạn những giá trị tối đa ít 1 của datatype nguyên trên hệ thống 32bit.
Đây là một liên kết xứng đáng với điều này cho bạn thấy cách thực hiện bit-twiddling tại đây.
bổ sung 1s phụ thuộc vào số bit trong điều bạn đang tìm kiếm phần bổ sung. Các tính năng xác định bổ sung của một người là bạn có hai con số cả hai đều bằng không. Thao tác phủ định trong phần bổ sung 1s tương đương với toán tử bitwise không như bạn đã quan sát. Tôi nghĩ rằng bạn có một ý tưởng sai lầm về cách bổ sung 1s hoạt động. – Omnifarious