class BitFieldDataType extends AbstractDataType {

	@Override
	public Object getValue(MemBuffer buf, Settings settings, int length) {
		if (effectiveBitSize == 0) {
			return new Scalar(0, 0);
		}
		BigInteger big = getBigIntegerValue(buf, settings);
		if (big == null) {
			return null;
		}
		if (effectiveBitSize <= 64) {
			return new Scalar(effectiveBitSize, big.longValue(),
				getPrimitiveBaseDataType().isSigned());
		}
		return big;
	}

	protected  BitFieldDataType(DataType baseDataType, int bitSize, int bitOffset);
	protected  BitFieldDataType(DataType baseDataType, int bitSize);

}