黑马程序员技术交流社区

标题: 关于数据类型的问题。 [打印本页]

作者: 任利康    时间: 2015-7-25 01:27
标题: 关于数据类型的问题。
向大家请教一个问题,byte  a =(byte)130
a打印出来是多少。具体原理???
作者: Apol    时间: 2015-7-25 11:09
class TestByte
{
        public static void main(String[] args)
        {
                byte a = (byte)130;
               
                System.out.println(a);
        }
}
//打印结果:-126


/*
java中的 byte 占一字节8位
         int  占4字节32位
   且第一位都为符号为,0表示正数,1表示负数
   
130 = (00000000 00000000 00000000 10000010)b
转换成byte类型,就只有后八位(10000010)b,
首位为1,表示负数,求该负数的绝对值,
           10000010
        -------------------          
    取反: 01111101
        加1 :        1
        -------------------
               01111110b = 126
                  
所以为 -126.                  
*/
作者: 任利康    时间: 2015-7-25 11:33
Apol 发表于 2015-7-25 11:09
class TestByte
{
        public static void main(String[] args)

谢谢了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2