Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 15th, 2012  |  syntax: None  |  size: 0.37 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. I need to know how to do a very specific bitwise function very quickly
  2. ===setValueAt(3, false)===
  3.  
  4.     0101 0001
  5.   ? 0000 1000
  6. ==============
  7.     0101 0001
  8.  
  9.  
  10.  
  11.     0101 1001
  12.   ? 0000 1000
  13. ==============
  14.     0101 0001
  15.        
  16. |0|1
  17. -+-+-
  18. 0|0|0
  19. -+-+-
  20. 1|1|0
  21.        
  22. void setValueAt(int &value, int pos, bool newState) {
  23.     value = newState ? (1 << pos) | value : ~(1 << pos) & value;
  24. }