摘要:
在百度上遇到一个问题,描述如下:在java中,定义两个变量byte x = (byte) 128;byte y = (byte)-129;输出后,为什么结果是-128和128?借此机会,自己也认真的思考了一下这个问题,并得出了正确的结果,下面就谈谈我的理解。这种问题在刚开始学习java的时候确实令我很费解来的,因为如果只是局限在java语言本身中,这个问题是没法得到真正的解的,顶多也是知其然不知其所以然。一年多来对计算机系统的更深入的学习,我在现可以尝试着去解答这个问题了。首先你要知道,在计算机中数是以二进制形式存在的,而且可以有三种表示方式,原码,反码,补码。首先讨论第一个数128。java 阅读全文