当前位置:   article > 正文

C#中三字节表示的有符号整数转四字节有符号整数_c#多字节转有符号

c#多字节转有符号

方法1

private int Int24ToInt32_1(byte b1, byte b2, byte b3)
{
    uint uintTemp = (uint)(b1 * 0x1000000 + b2 * 0x10000 + b3 * 0x100);
    int intTemp = (int)uintTemp;
    return intTemp / 256;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

方法2

private int Int24ToInt32_2(byte b1, byte b2, byte b3)
{
    uint uintTemp = (uint)(b1 * 0x10000 + b2 * 0x100 + b3);
    if (b1 > 0x7f)
    {
        uintTemp += 0xff000000;
    }
    return (int)uintTemp;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

方法3

private int Int24ToInt32_3(byte b1, byte b2, byte b3)
{
    byte[] b = { 0, b3, b2, b1 };
    return BitConverter.ToInt32(b, 0) / 0x100;
}
  • 1
  • 2
  • 3
  • 4
  • 5

方法4

private int Int24ToInt32_4(byte b1, byte b2, byte b3)
{
    byte[] b = { b3, b2, b1, 0 };
    uint uintTemp = BitConverter.ToUInt32(b, 0);
    if (b1 > 0x7f)
    {
        uintTemp += 0xff000000;
    }
    return (int)uintTemp;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/488591
推荐阅读
相关标签
  

闽ICP备14008679号