byte为什么只能存储256个数字

首先byte只占用1个字节,所以byte的取值范围使用二进制表示为:0000 0000~1111 1111,表示-127到+127,只有255个数字,但是有些地方说表示256个数字。因为这里0使用两种方式表示0000 0000和1000 0000分表表示+0和-0,为了充分的利用内存规定1000 0000表示-128为什么不是+128呢?因为0正1负,所以byte的取值范围就是-128到127.其他的基本类型和byte的原理相同。
补充一点:short a = 128;byte b = (byte)a;输出a.b会出现什么结果呢?还是个会报错?根据上面的原理自行进行推理,提示一点,short占用两个字节,转换为1个字节时会截取低位。
发布了36 篇原创文章 · 获赞 50 · 访问量 9759

猜你喜欢

转载自blog.csdn.net/qq_41765969/article/details/96638681