From 531c01bc4ea33a30e923b0caf56f436fecd93159 Mon Sep 17 00:00:00 2001 From: maqiao <625215135@qq.com> Date: Wed, 15 Nov 2023 18:38:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=82=A8=E7=89=A9=E7=AE=B1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=BF=94=E5=9B=9E=E6=8C=87=E4=BB=A4=E9=94=81?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=AD=E5=8F=8D=E8=BD=AC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DM_Weight/Port/PortUtil.cs | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) 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