title: How to implement MS specific _BitScanReverse() function?
body: <p><strong>From MSDN</strong>
  Search the mask data from most significant bit (MSB) to least significant bit (LSB) for a set bit (1).</p>
  
  <p><strong>unsigned char _BitScanReverse
  (
     unsigned long * Index,
     unsigned long Mask
  );</strong></p>
  
  <p><strong>Parameters</strong>
  [out] Index
  Loaded with the bit position of the first set bit (1) found.</p>
  
  <p>[in] Mask
  The 32-bit or 64-bit value to search.</p>
  
  <p><strong>Return Value</strong>
  0 if the mask is zero; nonzero otherwise.</p>
  
  <p><strong>Remarks</strong>
  If a set bit is found, the bit position of the first set bit found is returned in the first parameter. If no set bit is found, 0 is returned; otherwise, 1 is returned.</p>
  
  <p><BR>
  Please tell me how to implement a safe and fast <strong>_BitScanReverse()</strong> function on <strong>OS X</strong>? Do I have to use assembly or is there more simple way?</p>