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?
Trả lời
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 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
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. –
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
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.
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
Bạn sẽ phải biết nền tảng của hệ thống nhị phân. http://en.wikipedia.org/wiki/Binary_numeral_system có tổng quan tuyệt vời. Nhìn vào http://en.wikipedia.org/wiki/Bitwise_operation cho các hoạt động bitwise.
Vâng, tôi đoán mọi sách c/C++ giải thích các toán tử bitwise. Ngoài ra còn có rất nhiều hướng dẫn trực tuyến. Nếu tôi là bạn, tôi sẽ cải thiện kỹ năng google của mình. Delicious cũng có chức năng tìm kiếm tốt.Dưới đây là một số trong các liên kết tôi đã tìm thấy:
http://www.gamedev.net/reference/articles/article1563.asp
http://www.vipan.com/htdocs/bitwisehelp.html
http://graphics.stanford.edu/~seander/bithacks.html
http://en.wikipedia.org/wiki/Bitwise_operation
http://resnet.uoregon.edu/~gurney_j/jmpc/bitwise.html
http://www.cprogramming.com/tutorial/bitwise_operators.html
http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/
http://www.codeproject.com/KB/cpp/bitbashing.aspx
http://www.eskimo.com/~scs/cclass/int/sx4ab.html
http://www.cs.utk.edu/~vose/c-stuff/bithacks.html
http://www.somacon.com/p125.php
http://www.fredosaurus.com/notes-cpp/expressions/bitops.html
http://goanna.cs.rmit.edu.au/~stbird/Tutorials/BitwiseOps.html
http://www.custard.org/~andrew/programming/bitwise/
http://www.codeproject.com/KB/cpp/Bitwise_Operation.aspx
http://bits.stephan-brumme.com/
http://en.wikipedia.org/wiki/Bit_manipulation
http://www.hackersdelight.org/HDcode.htm
http://www.arduino.cc/playground/Code/BitMath
http://irc.essex.ac.uk/www.iota-six.co.uk/c/e4_bitwise_operators_and_or_xor.asp
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.
- 1. Tài nguyên để tìm hiểu MSDeploy
- 2. Tài nguyên Để tìm hiểu REXX
- 3. Tìm hiểu tài nguyên học tập
- 4. Tài nguyên tốt hơn để tìm hiểu buildout
- 5. Tài nguyên tốt để tìm hiểu cách gỡ lỗi php
- 6. Tài nguyên để tìm hiểu lý thuyết danh mục
- 7. Tài nguyên tốt để tìm hiểu cách tạo trình cài đặt MSI từ WiX
- 8. Tài nguyên lập trình mạng Android (Java)
- 9. Tài nguyên lập trình loại Scala
- 10. Cách tìm hiểu lập trình GUI trong F #
- 11. Tìm hiểu lập trình động lực học tại nhà
- 12. Tài nguyên tốt trên lập trình Facebook
- 13. Video hữu ích trong YouTube để tìm hiểu lập trình
- 14. Tài nguyên tốt nhất để tìm hiểu về Windows Phone Development?
- 15. Tài nguyên để tìm hiểu cách phát triển hệ thống lịch biểu/cuộc hẹn trong C#?
- 16. Tài nguyên tốt để tìm hiểu cách phát triển Tiện ích mở rộng của Firefox
- 17. Tài nguyên tài liệu về proxy khó hiểu của Android
- 18. Tài nguyên trực tuyến tốt để tìm hiểu lắp ráp x86
- 19. Tìm hiểu về phong cách lập trình Mozart của Dijkstra
- 20. Tài nguyên để học Verilog
- 21. Tài nguyên tốt để tìm hiểu về Kiến trúc theo hướng sự kiện
- 22. Mẹo hoặc tài nguyên để tìm hiểu kỹ thuật gỡ lỗi nâng cao GDB trong xcode
- 23. Android: Thay đổi nguồn tài nguyên theo Lập trình
- 24. Thêm tài nguyên vào Jetty theo lập trình
- 25. tải tài nguyên dưới dạng mảng byte lập trình
- 26. Truy cập tên tài nguyên theo lập trình
- 27. Sửa đổi tệp tài nguyên hiện có theo lập trình
- 28. Tài nguyên lập trình cho người không nói tiếng Anh
- 29. Sử dụng lập trình "lập trình C" (Tìm hiểu theo cách thức C)
- 30. Tìm hiểu về bộ lập lịch linux
Ở 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
Bạn cần ứng dụng loại nào? Tôi đoán coms. –
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