本文整理汇总了C#中Slice.ReadUInt32BE方法的典型用法代码示例。如果您正苦于以下问题:C# Slice.ReadUInt32BE方法的具体用法?C# Slice.ReadUInt32BE怎么用?C# Slice.ReadUInt32BE使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Slice
的用法示例。
在下文中一共展示了Slice.ReadUInt32BE方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ParseSingle
internal static float ParseSingle(Slice slice)
{
Contract.Requires(slice.HasValue && slice[0] == FdbTupleTypes.Single);
if (slice.Count != 5)
{
throw new FormatException("Slice has invalid size for a Single");
}
// We need to reverse encoding process: if first byte < 0x80 then it is negative (bits need to be flipped), else it is positive (highest bit must be set to 0)
// read the raw bits
uint bits = slice.ReadUInt32BE(1, 4); //OPTIMIZE: inline version?
if ((bits & 0x80000000U) == 0)
{ // negative
bits = ~bits;
}
else
{ // postive
bits ^= 0x80000000U;
}
float value;
unsafe { value = *((float*)&bits); }
return value;
}