首页 > 解决方案 > 如何在转换时计算任何数据类型的范围

问题描述

例如,我论文中的一个问题是这样的

在 java 中:字节的范围是 -128 到 127

字节 x = (字节) 300;

x 的值是多少?

我如何在纸上计算这个东西?

标签: javadata-structureslogic

解决方案


您只需要保留最低 8 位,然后将其解释为 2 的补码符号字节。

如果使用代码,您通常会执行按位与255(即 an 的低 8 位int全部为 时的值1),即300 & 255,但是要在纸上计算,请将数字除以 256 并保留余数(在代码中这将是模运算符,即300 % 256),这是您的答案,但如果超过 127,则从余数中减去 256。

在这种情况下,因为300恰好在(ie ) 的范围256内,所以您可以这样做并且您有答案。256 + 127383300 - 256 = 44


推荐阅读