gpt4 book ai didi

c# - 补码转换

转载 作者:可可西里 更新时间:2023-11-01 08:56:57 24 4
gpt4 key购买 nike

我需要将二进制补码格式的字节转换为正整数字节。范围 -128 到 127 映射到 0 到 255。

Examples: -128 (10000000) -> 0 , 127 (01111111) -> 255, etc.

EDIT 为了消除混淆,输入字节(当然)是 0 到 255 范围内的无符号整数。但是它使用二进制表示 -128 到 127 范围内的有符号整数补充格式。比如输入的字节值128(二进制10000000)实际代表的是-128。

额外编辑 好的,假设我们有以下字节流 0,255,254,1,127。在二进制补码格式中,这表示 0、-1、-2、1、127。我需要将其限制在 0 到 255 的范围内。有关更多信息,请查看这篇很难找到的文章:Two's complement

最佳答案

从您的示例输入中您只需要:

sbyte something = -128;

byte foo = (byte)( something + 128);

关于c# - 补码转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3812501/

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