我想在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)。
答案 0 :(得分:2)
负数的前导位是重要,因此您无法使用String.Format
切断关闭(没有说明符可以忽略有效数字,宽度仅指定最小尺寸和左/右对齐)。
您可以将值转换为3字节uint
,以便按照您希望的方式打印它们:
string.Format("{0,-6:X}",(uint)(int.MaxValue & 0xFFFFFF))