- class test{
- public static void main(String[] args){
- int i =257 ;
- byte b = (byte) i;
- System.out.println(b);
- byte b1 = -126; // 整型
- System.out.println(~b1); //~ 这个运算是省空间 得到的结果是 125(内存上运算, 存储再硬盘, 加载到内存.)
- System.out.println(2<<3);// 快速算出 2*8, 利用左移位
- System.out.println(100>>3);
- }
- }
- //@1 字节数 - 128 的内存中的存储形式? 如何推算的?
- // 计算机在内存中对数据的操作都是以补码来完成的, 补码的概念: 正数的补码与原码相同, 负数的补码 = 反码 + 1
- // 最大正数为: 01111111 = 1+2+4+8+16+32+64 = 127
- // 最小负数为: 10000000 除符号位取反加一: 11111111 = -(1+2+4+8+16+32+64+1) = -128
- //@2byte 的取值范围
- //-128 ---127
- //0 是正数还是负数
- // 非正数非负数
来源: http://www.bubuko.com/infodetail-2846533.html