【问题标题】:Convert one byte to signed byte or int将一个字节转换为有符号字节或整数
【发布时间】:2023-04-01 17:26:01
【问题描述】:

oxfc 是负数,但我将它作为 byte,其值为 252,有没有办法将其转换为签名的 byteint

我找到了这个方法:

(BitConverter.ToInt16(new byte[2] { 0, 0xfc }, 0) / 256).ToString()

但是有没有更好的方法?

【问题讨论】:

    标签: c# type-conversion byte signed


    【解决方案1】:

    你可以简单地投射它:

    byte b = 0xfc;
    sbyte s = unchecked((sbyte)b);
    

    【讨论】:

    • 他说“oxfc 是负数”,所以我认为不能将负值转换为字节。如果我错了,请告诉我。
    • @Transcendent:他说他在一个字节中已经有 0xFC(其值为 252),并希望将其解释为二进制补码 (-4) 并保存到带符号的变量中。
    • 所以在那种情况下这是一个正值,我不明白他为什么提到0xfc是一个负值。
    • @Transcendent:根据二进制补码解释它是否定的。 (其实也是根据补码和有符号数)
    猜你喜欢
    • 1970-01-01
    • 2023-01-29
    • 2012-10-30
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    相关资源
    最近更新 更多