java零碎知识(每种数据类型默认值,多大,取值范围)


只要记下字节就好了

其它不必死记,取值范围:没有正负的,2的 字节数*8次方-1  , 凡是有正负的2的 (字节数*8)-1次方 -1

比如:

1.byte(有正负):先计算是2的几次方:字节数1*(8-1)=7  (一个字节8比特,8由此而来,而正负占一位所以-1

那么为-2^7 ---- 2^7-1

2.char(没有正负)先计算是2的几次方:字节数2*(8)=16

那么为0 ---- 2^16-1



一道与之相关的题

解析:

short a=0000000010000000,当进行强制转换时,byte是八位的,截取a的后八位,b=10000000;最高位是符号位,说明b是负数,在计算机中以补码表示。求其源码:先减1得到反码01111111,取反得到源码1000000,也就是-128.


以上这题属于计算机组成原理的知识,没有学习过,可以参考文章:原码、反码、补码和移码其实很简单

原文地址:https://www.cnblogs.com/chz-blogs/p/9381023.html