public long getValue(byte[] bytes, int index, SearchSettings settings) {
		boolean isBigEndian = settings.isBigEndian();
		int byteSize = settings.getDecimalByteSize();
		boolean isUnsigned = settings.isDecimalUnsigned();

		byte[] bigEndianBytes = getBigEndianBytes(bytes, index, isBigEndian, byteSize);
		long value = isUnsigned ? bigEndianBytes[0] & 0xff : bigEndianBytes[0];
		for (int i = 1; i < byteSize; i++) {
			value = (value << 8) | (bigEndianBytes[i] & 0xff);
		}
		return value;
	}
{@link SearchFormat} for parsing and display bytes in a decimal format. It supports sizes of
2,4,8,16 and can be either signed or unsigned.
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/format/DecimalSearchFormat.java