var r = 0; while(width){ var w = Math.min(width, 8 - this.bit); var v = this.buffer[this.bbyte] >>> (8 - this.bit - w); r <<= w; r |= v & ~(~0 << w); this.bit += w; if(this.bit == 8){ ++this.bbyte; this.bit = 0; } width -= w; } return r;