public void setBytes(byte bytes[]) {
    	this.bytes = bytes;
    	int len = bytes.length * 8;
    	bits = new byte[len];
    	for(int i = 0; i < bytes.length; i++) {
    		for(int k = 7; k >= 0; k--) {
    			bits[--len] = (byte) ((bytes[i] >>> k) & 0x01);
    		}
    	}    	
    }