public double ToDouble(byte[] arr, int offset) => BitConverter.ToDouble(InverseConverter.fullInverse(arr, offset), 0);
public float ToSingle(byte[] arr, int offset) => BitConverter.ToSingle(InverseConverter.fullInverse(arr, offset), 0);
public uint ToUInt32(byte[] arr, int offset) => BitConverter.ToUInt32(InverseConverter.fullInverse(arr, offset), 0);
public ulong ToUInt64(byte[] arr, int offset) => BitConverter.ToUInt64(InverseConverter.fullInverse(arr, offset), 0);
public char ToChar(byte[] arr, int offset) => BitConverter.ToChar(InverseConverter.fullInverse(arr), offset);
public ushort ToUInt16(byte[] arr, int offset) => BitConverter.ToUInt16(InverseConverter.fullInverse(arr, offset), 0);
public double ToDouble(byte[] arr) => BitConverter.ToDouble(InverseConverter.fullInverse(arr), 0);
public float ToSingle(byte[] arr) => BitConverter.ToSingle(InverseConverter.fullInverse(arr), 0);
public ulong ToUInt64(byte[] arr) => BitConverter.ToUInt64(InverseConverter.fullInverse(arr), 0);
public uint ToUInt32(byte[] arr) => BitConverter.ToUInt32(InverseConverter.fullInverse(arr), 0);
public ushort ToUInt16(byte[] arr) => BitConverter.ToUInt16(InverseConverter.fullInverse(arr), 0);
public char ToChar(byte[] arr) => BitConverter.ToChar(InverseConverter.fullInverse(arr), 0);
public byte[] GetBytes(float value) { byte[] bytes = BitConverter.GetBytes(value); InverseConverter.fullInverse(bytes); return(bytes); }