|
@@ -0,0 +1,90 @@
|
|
|
+using System.Text;
|
|
|
+
|
|
|
+namespace 测试
|
|
|
+{
|
|
|
+ public class Worker : BackgroundService
|
|
|
+ {
|
|
|
+ private readonly ILogger<Worker> _logger;
|
|
|
+
|
|
|
+ public Worker(ILogger<Worker> logger)
|
|
|
+ {
|
|
|
+ _logger = logger;
|
|
|
+ }
|
|
|
+
|
|
|
+ protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
|
+ {
|
|
|
+ var a = (693631 - 789931) % 1567770;
|
|
|
+ var c = ((10 - 20) + 100) % 100;
|
|
|
+ var b = (789931 - 693631 + 1567770) % 1567770;
|
|
|
+ var d = (20 - 50 + 100) % 100;
|
|
|
+ var aa = new byte[4] { 73, 41, 87, 96 };
|
|
|
+ var bb = new byte[4] { 96, 87, 41, 73 };
|
|
|
+ var e = BitConverter.ToSingle(bb, 0);
|
|
|
+ while (!stoppingToken.IsCancellationRequested)
|
|
|
+ {
|
|
|
+ _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
|
|
|
+ await Task.Delay(1000, stoppingToken);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 将字节转换成2进制的单精度浮点数
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="ByteData"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public float GetToTwo(byte[] ByteData)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ int Length = ByteData.Length;
|
|
|
+ string Result = string.Empty;
|
|
|
+ for (int j = 0; j < Length; j++)
|
|
|
+ {
|
|
|
+ string hexString = ByteData[j].ToString("X2");
|
|
|
+ hexString = hexString.Replace(" ", "");
|
|
|
+ if ((hexString.Length % 2) != 0)
|
|
|
+ {
|
|
|
+ hexString = hexString.PadRight(hexString.Length + 1);
|
|
|
+ }
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
+ int len = hexString.Length / 2;
|
|
|
+ for (int i = 0; i < len; i++)
|
|
|
+ {
|
|
|
+ string hex = hexString.Substring(i * 2, 2).Trim();
|
|
|
+ int a = Convert.ToInt32(hex, 16);
|
|
|
+ string str = Convert.ToString(a, 2).PadLeft(8, '0');
|
|
|
+ builder = builder.Append(str);
|
|
|
+ }
|
|
|
+ Result += builder.ToString();
|
|
|
+ };
|
|
|
+ var b = Result;
|
|
|
+ var c = Convert.ToInt32(Result, 2);
|
|
|
+ return Convert.ToInt32(Result, 2);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return 400;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static bool[] Conve(byte[] byt)
|
|
|
+ {
|
|
|
+ int len = byt.Length;
|
|
|
+ bool[] newBit = new bool[len * 4];
|
|
|
+ int MidByt;
|
|
|
+ for (int i = 0; i < len; i++)
|
|
|
+ {
|
|
|
+ MidByt = byt[i];
|
|
|
+ for (int j = 0; j < 4; j++)
|
|
|
+ {
|
|
|
+ newBit[i * 4 + j] = System.Convert.ToBoolean(MidByt % 2);
|
|
|
+ MidByt = MidByt / 2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ foreach (bool a in newBit)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ return newBit;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|