using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JSMachine.WMS.Infrastructure.Helper { /// /// 值转换服务类 /// public static class ValueConvertHelper { /// /// 将一个int32类型转换为一个ushort数组,高位在前面 /// /// public static ushort[] IntToUshorts(int value) { string str = Convert.ToString(value, 2).PadLeft(32, '0'); string high = str.Substring(0, 16); string low = str.Substring(16); return new ushort[2] { Convert.ToUInt16(high, 2), Convert.ToUInt16(low, 2) }; } public static short[] IntToShorts(int value) { string str = Convert.ToString(value, 2).PadLeft(32, '0'); string high = str.Substring(0, 16); string low = str.Substring(16); return new short[2] { Convert.ToInt16(high, 2), Convert.ToInt16(low, 2) }; } /// /// 将两个ushort转换为一个int,高位在前 /// /// /// public static int UshortsToInt(ushort[] values) { return values.First() << 16 | values.Last(); } /// /// 将两个short转换为一个int,高位在前 /// /// /// public static int ShortsToInt(short[] values) { return values.First() << 16 | values.Last(); } /// /// 调整值的后一位强制转换成无符号 /// /// /// public static int adjShortsToInt(short[] values) { ushort value = (ushort)(values.Last()); return values.First() << 16 | value; } } }