@Override
	public Object getValue(MemBuffer buf, Settings settings, int length) {
		if (effectiveBitSize == 0) {
			return new Scalar(0, 0);
		}
		AbstractIntegerDataType primitiveBaseDataType = getPrimitiveBaseDataType();
		boolean isSigned = primitiveBaseDataType.isSigned();
		BigInteger big = getBigIntegerValue(buf, isSigned, settings);
		if (big == null) {
			return null;
		}
		if (effectiveBitSize <= 64) {
			return new Scalar(effectiveBitSize, big.longValue(), isSigned);
		}
		return big;
	}
Clone this bitfield to a new datatype manager.  This may change the effective bit
size and storage size of the resulting datatype based upon the data organization
of the specified dtm.
@param dtm target datatype manager
@return new instance or same instance of dtm is unchanged.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/BitFieldDataType.java