diff --git a/HybirdFrameworkCore/Utils/BitUtls.cs b/HybirdFrameworkCore/Utils/BitUtls.cs index 075bb4c..8c4f63a 100644 --- a/HybirdFrameworkCore/Utils/BitUtls.cs +++ b/HybirdFrameworkCore/Utils/BitUtls.cs @@ -243,17 +243,23 @@ public static class BitUtls public static ushort Byte2UInt16(byte[] bytes, int startBit, int length) { - if (length < 9 || length > 16) throw new ArgumentException("length should be less then 17 and greater then 8"); var sub = Sub(bytes, startBit, length); + if (sub.Length == 1) + { + return Convert.ToUInt16(sub[0]); + } return BitConverter.ToUInt16(sub, 0); } public static short Byte2Int16(byte[] bytes, int startBit, int length) { - if (length < 9 || length > 16) throw new ArgumentException("length should be less then 17 and greater then 8"); var sub = Sub(bytes, startBit, length); + if (sub.Length == 1) + { + return Convert.ToInt16(sub[0]); + } return BitConverter.ToInt16(sub, 0); }