如何将1E00A84ACC转换为11029196

问题描述 投票:0回答:2
  • 我的 rfid 标签是 0011029196,当我将其转换为十六进制时,它只是 0A84ACC 并丢失了 1E0 我如何将其转换为
  • 1E00A84ACC。

p/s:从串口读取标签 1E00A84ACC

  • 我正在使用带有c#的窗口形式

  • 我如何编码。谢谢

c# serial-port rfid
2个回答
1
投票

看起来最高 32 位在某个地方丢失了,可能是由于显式转换为 int?如果是这样,请尝试使用 long 类型而不是 int 类型。

问题示例:

long longRFID = 0x1E00A84ACC;
int intRFID = (int)longRFID;
Console.WriteLine($"Dec (long): {longRFID}");
Console.WriteLine($"Hex (long): {longRFID:x}");
Console.WriteLine($"Dec (int):  {intRFID}");
Console.WriteLine($"Hex (int):  {intRFID:x}");

输出:

Dec (long): 128860048076
Hex (long): 1e00a84acc
Dec (int):  11029196
Hex (int):  a84acc

0
投票

enter image description here 当我从 rfid 读取器读取数据时,结果是:1E00A84ACC(串行标签是 0011029196)图 1

  • 我想将序列号 0011029196 转换为 1E00A84ACC 但它只显示 A84ACC 它丢失了 1E00 这里是我转换的代码:

    { 字符串 chuoiso = "0011029196"; textBox2.Text = decToHexa(chuoiso); }

    静态字符串 decToHexa(字符串标签) {

         int number = int.Parse(tag);
         string hex = number.ToString("x");
         return hex;
    
     }
    

code convert hec to decimal

© www.soinside.com 2019 - 2024. All rights reserved.