diff --git a/DM_Weight/Port/PortUtil.cs b/DM_Weight/Port/PortUtil.cs index cabb501..edfbea5 100644 --- a/DM_Weight/Port/PortUtil.cs +++ b/DM_Weight/Port/PortUtil.cs @@ -783,12 +783,30 @@ namespace DM_Weight.Port private int[] Decimal2Chunks(int d) { string s = Convert.ToString(d, 2); - List t = s.Split().Select(it => Convert.ToInt32(it)).Reverse().ToList(); - while (t.Count < 8) + int[] chars = new int[8]; + char[] schar = s.ToCharArray(); + Array.Reverse(schar); + int[] iArray = Array.ConvertAll(schar, c => (int)Char.GetNumericValue(c)); + int[] addArray = new int[8 - iArray.Length]; + if (iArray.Length < 8) { - t.Add(0); + for (int i = 0; i < 8 - iArray.Length; i++) + { + addArray[i] = 0; + } + chars = iArray.Concat(addArray).ToArray(); } - return t.ToArray(); + else + { + chars = iArray[0..iArray.Length]; + } + return chars; + //List t = s.Split().Select(it => Convert.ToInt32(it)).Reverse().ToList(); + //while (t.Count < 8) + //{ + // t.Add(0); + //} + //return t.ToArray(); } #endregion