java中二进制、八进制、十进制、十六进制的转换

public class HelloWorld {
    public static void main(String []args) {
        int a=-0b11;//0b开头为二进制数
        int b=-011;//0开头为八进制数
        int c=-11;//默认为十进制数
        int d=-0x11;//0x开头为十六进制数
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);//以上默认输出十进制
        System.out.println(Integer.toBinaryString(d));//  二进制
        System.out.println(Integer.toOctalString(d));//八进制
        System.out.println(Integer.toHexString(d));//十六进制
        //注意:负数在非十进制时输出为补码
    }
}

运行结果:


image.png

然后简单总结一下原码、反码和补码:
正数:
原码、反码和补码都相同
负数:
原码:第一位为符号位,后面是数字位
反码:符号位不变,其它各位取反
补码:反码+1(相当于符号位不变,数字位取反+1)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容