java - 为什么此代码打印 248,而不是 -8?
问题描述
public class Test{
public static void main(String[] args) {
byte i = 31;
System.out.println(i<<3);
}
}
为什么此代码打印 248,而不是 -8?
解决方案
输出是256,没问题!你将它左移 3。i 是 32,这意味着 100000 作为二进制,所以如果你将它左移 3,它将是 100000000,这意味着 256 作为 dec。
推荐阅读
- python - Bokeh:有没有办法单独设置 ButtonGroup 的按钮样式?
- c# - 如何在while内停止循环
- sql - 有没有办法通过 HQL/SQL 解析带有转义的 csv 字符串?
- bokeh - 在条件下触发散景警报消息
- reactjs - 错误:无法对未安装的组件执行 React 状态更新
- javascript - 如果在浏览器中禁用 javascript,如何在表单提交时弹出 javascript 和操作?
- node.js - 错误:16 UNAUTHENTICATED:请求具有无效的身份验证凭据。预期的 OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据
- c# - 自定义验证不触发,内置
- java - 使用 EasyWSDL 进行 WSDL 解析并在运行时出现 sexonica 错误
- mysql - 如何将图像上传到照片托管并在我的 laravel 项目中使用