gpt4 book ai didi

c# - 将十六进制字符串转换为数字类型并返回

转载 作者:行者123 更新时间:2023-11-30 22:18:35 24 4
gpt4 key购买 nike

我需要一个函数来将格式为 0xFFFF(2 字节)的十六进制值转换为十进制(无符号和有符号)。

例如:

0xFFFE65534(无符号)
0xFFFE-2(有符号)

4 字节和 1 字节我也需要同样的东西。

我需要将所有这些选项(3 * 2 个选项)转换回来 - 从十进制到十六进制(总共 12 个选项)。

我的函数应该是这样的:

    string Myconverter(int ByteSize, bool IsFromHextoDecimal, bool IsSigned)
{
...
}

如果有执行这些转换的内置功能,我想要一个引用/链接。

最佳答案

使用Convert 类中的方法将字符串解析为数字。要解析一个无符号的 2 字节值,您可以使用 ToUInt16 方法,并指定基数 16:

ushort value = Convert.ToUInt16("0xFFFF", 16);

将这些方法用于其他格式:

ToInt16  = signed 2 byte
ToUInt32 = unsigned 4 byte
ToInt32 = signed 4 byte
ToByte = unsigned 1 byte
ToSByte = signed 1 byte

要将数字格式化为十六进制字符串,您可以使用 X 格式(或 x 获取小写字母)并指定位数:

string formatted = value.ToString("X4");

然而,它不会有 0x 前缀,所以如果你想要,你必须添加它:

string formatted = "0x" + value.ToString("X4");

关于c# - 将十六进制字符串转换为数字类型并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16011441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com