我正在尝试将int值转换为16位无符号字符类型(USHORT)。在一个示例中,ushort中的41104是A909,但是在C#中,我尝试将代码示例作为(在MSDN文章BitConverter.GetBytes Yöntem (UInt16)的帮助下):
byte[] bytes = BitConverter.GetBytes(41104);
string bytes = BitConverter.ToString(byteArray);
//It returns "90-A0"
如何获得41104的A909值作为ushort?
最佳答案
实际上,正确的(十六进制)值为A090。不管是否为ushort,您要显示的是十六进制等效项。
您提供的代码段已执行此操作。一个字节为“ A0”,另一个字节为“ 90”。您只需要获得正确的订单即可。
另一种方法是让.NET完成工作
String.Format("{0:X}", 41104);
如您所见,它并不是真正的数据转换,而是一种不同的显示方式。
关于c# - 如何在C#,A909中为41104获取ushort数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3624687/