public void encodeNoisyDiff(int value, final int noisybits) {
        if (noisybits > 0) {
            value += 1 << (noisybits - 1);
            final int mask = 0xffffffff >>> (32 - noisybits);
            encodeBounded(mask, value & mask);
            value >>= noisybits;
        }
        encodeVarBits(value < 0 ? -value : value);
        if (value != 0) {
            encodeBit(value < 0);
        }
    }
encode a signed integer with some of of least significant bits considered
noisy

@see #decodeNoisyDiff
main/src/main/java/cgeo/geocaching/brouter/codec/StatCoderContext.java