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;
}
}
}