2009-07-22 36 views
27

Tôi là lập trình viên C++ và thỉnh thoảng tôi sẽ gặp một số mã đang sử dụng các toán tử bitwise để thao tác mọi thứ ở mức bit, nhưng tôi không có hiểu biết thực sự về các khái niệm đó. Vì vậy, tôi muốn một nguồn tài nguyên để giúp tôi tìm hiểu nó rất tốt mà nó trở thành bản chất thứ hai. Có ai biết về nguồn lực tốt cho việc này không? Tìm kiếm trên google không cung cấp cho tôi nhiều thông tin hữu ích. Có lẽ tôi không chắc chắn những gì để tìm kiếm. Cảm ơn!Tài nguyên để tìm hiểu lập trình bitwise?

+0

Ở các ngôn ngữ cấp cao, tôi luôn bỏ qua hướng dẫn xoay vòng. Nếu tôi từng thiết kế một ngôn ngữ, nó sẽ có nó. – Nosredna

+0

Bạn cần ứng dụng loại nào? Tôi đoán coms. –

+0

Vâng, bằng cách có nó, nó dễ dàng hơn để làm thay đổi multibyte. Bất cứ điều gì bạn cần nó cho. Thứ tôi rơi vào hội để làm. Có lẽ thay vì thay đổi và xoay qua mang, tôi có thể làm một cái gì đó cấp cao hơn, như cho phép bitwise trên mảng của các số nguyên. – Nosredna

Trả lời

17

Tôi hoàn toàn yêu thích cuốn sách Hacker's Delight của Henry Warren. Trang web cho nó cung cấp Chương 2 ("Khái niệm cơ bản") như một mẫu miễn phí, mặc dù tên, cung cấp một số thủ thuật thao tác bit khá phức tạp. Nó có thể không phải là nơi tốt nhất để bắt đầu, nhưng nó tuyệt vời khi bạn bắt đầu cảm thấy thoải mái với số học bit.

+1

+1 cho Delight Delight - đó là một cuốn sách tuyệt vời mà tôi liên tục đề cập đến cho những cách nhanh chóng để thực hiện tất cả các loại thuật toán – DaveR

+0

Ngoài ra +1 cho cuốn sách tuyệt vời này. Mặc dù không phải tất cả các bit-twiddling là một chiến thắng những ngày này, nó vẫn là thứ hấp dẫn. –

+0

Mặc dù có rất nhiều liên kết web tốt được liệt kê, cuốn sách này đánh tôi như những gì tôi đang tìm kiếm. Cảm ơn! – JimDaniel

2

Tôi tưởng tượng có những nguồn lực có thể tốt hơn khác, nhưng tôi nhớ rằng có wa s một bài viết về điều này tôi đọc một vài năm trước đây trên GameDev.Net.

BitWise Operations in C

+0

Tôi vừa liên kết với cùng một trang, Đó là trong dấu trang Google Chrome của tôi. Đó là một hướng dẫn thực sự tốt. – Kredns

4
2

Tôi đồng ý với các câu trả lời ở trên trên bài viết GameDev.net đó. Đó là một điều tốt cho tôi trong quá khứ.

Bài viết về Không chuẩn hóa với Bitmasks (http://maggienelson.com/2009/02/denormalization-with-bitmasks/) cũng hữu ích cho tôi và bao gồm các ví dụ cụ thể về cơ sở dữ liệu, trong trường hợp các ví dụ này được sử dụng.

Các vấn đề liên quan