C# 16位十六进制有符号数转十进制数

C# 十六进制有符号数转十进制数

方法一

x 为有符号十六进制数
y 为 x 对应的十进制数

int x = 0xffff;
int y = Convert.ToInt16(x.ToString("x2"), 16);
// 输出结果:y = -1;

方法二

x 为有符号十六进制数

int x = 0xffff;
if((Convert.ToInt32(x.ToString("x2"), 16)) > (Convert.ToInt32("7fff", 16)))
	x = x - Convert.ToInt32("10000", 16);
// 输出结果:x = -1;
// ToString("x2") 转换为十六进制字符串
ToString("x2") 表示转换为十六进制为小写字母
ToString("X2") 表示转换为十六进制为大写字母

你可能感兴趣的:(C#,编程语言,c#)