1
我想在C#中显示三个字节(有符号)。如何在C#中显示签名的三个字节的十六进制输出?
代码(片段)我提出的是:
case 3:
HexadecimalValueRange = SignedValueChecked ?
string.Format("{0:X6}..{1:X6}", (Int32) minValue, (Int32) maxValue)
: string.Format("{0:X6}..{1:X6}", (UInt32)minValue, (UInt32)maxValue);
但它显示的一实例负的值作为0xFFC00000其中我想看到0xC000000,所以用6“显著”位数(从而没有前导FF )。
根据[标准数字格式字符串(https://msdn.microsoft.com/en-us /library/dwhawy9k%28v=vs.110%29.aspx#XFormatString)中,精度说明符*表示结果字符串中所需的**最小**数字数目*不是最大数字,也不会请钳制数字,如下例所示:'123456789.ToString(“X2”)//显示75BCD15'。尝试[如何强制数字在C#中的范围?](http://stackoverflow.com/questions/3176602/how-to-force-a-number-to-be-in-a-range-in相反)。 – dbc
@dbc:我知道这是最小位数,但是钳位该值仍然会导致前导FF值。 –