User Tools

Site Tools


chess:programming:lsb_least_significant_bit

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
chess:programming:lsb_least_significant_bit [2021/10/30 12:57] peterchess:programming:lsb_least_significant_bit [2021/10/30 14:11] (current) peter
Line 19: Line 19:
 ---- ----
  
-===== Using bit-wise operations =====+===== Using Bit-wise operations =====
  
 <code cpp> <code cpp>
Line 49: Line 49:
  
 ---- ----
 +
 +===== Using Builtin =====
 +
 +GCC has **<nowiki>__builtin_clz</nowiki>**.
 +
 +<code cpp>
 +lsb = __builtin_clz(pos);
 +</code>
 +
 +----
 +
 +
  
 ===== Using de Bruijn ===== ===== Using de Bruijn =====
Line 83: Line 95:
  
 </WRAP> </WRAP>
- 
  
 ---- ----
 +
  
 ===== Using Logs ===== ===== Using Logs =====
Line 176: Line 188:
  
 ===== References ===== ===== References =====
- 
-https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64?redirectedfrom=MSDN&view=msvc-160 
  
 http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn
Line 184: Line 194:
  
 https://en.wikipedia.org/wiki/Bit_numbering https://en.wikipedia.org/wiki/Bit_numbering
 +
 +https://docs.microsoft.com/en-us/cpp/intrinsics/bitscanforward-bitscanforward64?redirectedfrom=MSDN&view=msvc-160
chess/programming/lsb_least_significant_bit.1635595046.txt.gz · Last modified: 2021/10/30 12:57 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki