Java基本數據類型(強制轉換數據溢出狀況)

強制轉換數據溢出狀況

     舉例: int轉bytespa

        int exampleB2 = 129;   //129往前移兩位得-127
        System.out.println((byte)exampleB2);  //-127
        int exampleB3 = -129;   //-129往前移一位得127
        System.out.println((byte)exampleB3);  //127
        int exampleB4 = 256;   //256往前移(256-127=129)位,即0
        System.out.println((byte)exampleB4);  //0

   分析:code

    想象這個範圍是在數軸上一直連續的區間blog

     

 

    以中間這個區間爲起始區間,當int = 129時,超出了區間(129-127 = 2)位,在對應的連續區間裏的位置是第二位,第一位是-128,第二位是-127,因此此時強制轉換打印的值是-127,而不是129class

    

 

    以中間這個區間爲起始區間,當int = -129時,超出了區間(-128 - (-129) = 1)位,在對應的連續區間裏的位置是第一位,數一位,第一位是127,因此此時強制轉換打印的值是127,而不是129im

    

相關文章
相關標籤/搜索