首页 > 解决方案 > 为什么此代码打印 248,而不是 -8?

问题描述

public class Test{
    public static void main(String[] args) {    
        byte i = 31;
        System.out.println(i<<3);
    } 
}

为什么此代码打印 248,而不是 -8?

标签: java

解决方案


输出是256,没问题!你将它左移 3。i 是 32,这意味着 100000 作为二进制,所以如果你将它左移 3,它将是 100000000,这意味着 256 作为 dec。


推荐阅读