java - 如何在转换时计算任何数据类型的范围
问题描述
例如,我论文中的一个问题是这样的
在 java 中:字节的范围是 -128 到 127
字节 x = (字节) 300;
x 的值是多少?
我如何在纸上计算这个东西?
解决方案
您只需要保留最低 8 位,然后将其解释为 2 的补码符号字节。
如果使用代码,您通常会执行按位与255
(即 an 的低 8 位int
全部为 时的值1
),即300 & 255
,但是要在纸上计算,请将数字除以 256 并保留余数(在代码中这将是模运算符,即300 % 256
),这是您的答案,但如果超过 127,则从余数中减去 256。
在这种情况下,因为300
恰好在(ie ) 的范围256
内,所以您可以这样做并且您有答案。256 + 127
383
300 - 256 = 44
推荐阅读
- freemarker - Keycloak 将数据从一个自定义身份验证传递到另一个自定义身份验证
- django - Linux上的Django数据库文件丢失
- html - 如何在 html 中从底部删除溢出的滚动条边框
- python - 在 Python 中迭代所有子文件夹和 OCR 图像
- email - 在cakephp中执行登录时如何向用户发送电子邮件
- php - Yii2 在 ActiveForm 中包含 datetimepicker
- sql - SQL 根据条件汇总
- java - spring 中的单例可以有静态方法吗?
- android - 如何使用 Dagger 在 Retrofit2 android 中动态传递不同的 url
- eclipse - 比尔特 4.7。预览不适用于 Eclipse IDE