gpt4 book ai didi

c++ - 有符号字节和奇偶校验字节的区别

转载 作者:太空狗 更新时间:2023-10-29 23:21:28 27 4
gpt4 key购买 nike

我正在从字节流中读取一些字节,它们看起来像这样:

OUTPUT:
48 -84 -79 -84 -73 -79 46 48 -84

SHOULD BE:
48 44 49 44 55 49 46 48 44

我想把它们变成 ascii 字符,但那些负号让我很困惑。这让我觉得我不明白带符号的字节。我到底做错了什么?

最佳答案

看起来最高位用作奇偶校验位,而您的代码假定它是符号位

  • 48 = 011 0000:设置 2 位 -> 添加 0-> 0011 0000 = 48
  • 44 = 010 1100 : 设置 3 位 -> 加 1-> 1010 1100 = -84
  • 49 = 011 0001 : 设置 3 位 -> 加 1 -> 1011 0001 = -79
  • 等等...

解决方案:使用(value & 0x7f) 屏蔽掉最高位。

关于c++ - 有符号字节和奇偶校验字节的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com