我正在尝试为一种非常简单的加密类型编写解码器。通过扫描仪输入 0-255 之间的数字,位被反转,然后转换为字符并打印。
例如,数字 178 应转换为字母“M”。
178 是 10110010。
反转所有位应给出 01001101,即 77 或“M”作为字符。
我遇到的主要问题是,据我所知,Java 不支持无符号字节。我可以将值读取为 int 或 short,但是由于额外的位,这些值将在转换过程中关闭。理想情况下,我可以只使用按位补码运算符,但我认为如果我使用有符号数字这样做,我最终会得到负值。关于我应该如何处理这个问题的任何想法?