Advertisement
Guest User

Untitled

a guest
Oct 9th, 2015
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.57 KB | None | 0 0
  1. var BinaryView = function(buffer) {
  2. this.buffer = buffer;
  3. this.view = new DataView(this.buffer);
  4. };
  5.  
  6. BinaryView.prototype.flip = function(bitIndex) {
  7. if (bitIndex > this.buffer.byteLength * 8) {
  8. console.error("invalid bit location", bitIndex);
  9. return;
  10. }
  11.  
  12. var byteIndex = bitIndex >> 3;
  13. var bit = bitIndex - (byteIndex << 8);
  14. var mask = 1 << bit;
  15.  
  16. var currentValue = this.view.getUint8(byteIndex);
  17. var newValue = currentValue ^ mask;
  18.  
  19. this.view.setUint8(byteIndex, newValue);
  20. };
  21.  
  22. var t = new BinaryView(new ArrayBuffer(5));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement