关于越界问题

在Java中

 

Example:

(1)

  byte b=(byte)(-129);

  System.out.println(b);

  输出的的结果是127;

(2)

  byte b=(byte)(129);

  System.out.println(b);

  输出的的结果是-127;

 

Explanation:

  byte只能存储8位

  在转换的过程中 

  负数要先取变补 也就是 (1000001)原=(01111110)补+1=01111111=127

  正数直接取补码  也就是 (1000001)原=(11111111)补=-127;

  在Java中规定最高位为符号位 !

 

posted @ 2015-05-16 00:22  Animationer  阅读(291)  评论(0编辑  收藏  举报