课程咨询 :17156168575
QQ: 2720475033

  • 基本数据

    发布:济南达内教学部      来源:济南达内教学部      时间:2016-11-18

  • byte tt=(byte)130 等于 -126 。 byte 占一个字节,8bit 。第一位是符号位,0 表示正数,1 表示负数。因此byte 的取值范围 [-128, 127] 。

    byte c = (byte)0xFF; 十六进制 15*16 + 15 = 255 = 11111111 , 最前面1表示负数, 存储的是 补码,后面7位取反 加 1 等于 1 , 则 c = -1 。 System.out.println(c); 输入 -1 。

    byte a= (byte) 0x00000111; 十六进制 16*16 + 16 + 1 = 256 + 17 = 0000001 00010001 。截取后8位,则 a = 17

    130的二进制是00000000000000000000000010000010,截取成byte类型只保留后8位,也就是10000010,第1位是符号位0代表正数、1代表负数。

    这里第一位是1也就是负数,济南java培训小编说计算机存储的负数是补码,必须将其他位取反再加1,取反加1后这个为-1111110,这个二进制数转换为整数是-126 。

    八进制必须以 0 开头, 十进制不能以0开头(0除外)。

    byte a= 00000111; 八进制 64 + 8 + 1 , 则 a = 73 。

    byte a= (byte)00001111; 八进制 8*8*8 + 64 + 8 + 1 = 00000010 01001001 , 转换成byte,取后8位,则 a = 73 。 byte a= 00001111 ,会报错超出范围[-128,127] 。

    byte占 8位。 short 占 16位,取值范围 [-32768, 32767]

    byte占 8位。 short 占 16位,取值范围 [-32768, 32767]

    int类型在内存中占32位,4个字节。取值范围 [-2147483648, 2147483647]。

    2^31 = 2147483648

    short s1 = 1; s1 = s1 + 1; 会报错,因为1是int类型,计算结果是 int类型,需要强制转换成short类型,写成 s1 = (short)(s1 + 1) ; 或者 s1 += 1; 此种写法含有隐式的强制类型转换。 相当于(short)(s1 + 1)

上一篇:包装类、对象的比较、String常量池问题

下一篇:Servlet和JSP实现一个简单的Web聊天室系统

最新开班日期  |  更多

Java--在职提升班

Java--在职提升班

开班日期:6月30日

Java--零基础全日制班

Java--零基础全日制班

开班日期:6月30日

Java--名企定制班

Java--名企定制班

开班日期:6月30日

Java--名企就业班

Java--名企就业班

开班日期:6月30日

 扫一扫,关注一下! 济南:历下区山大路47号数码港大厦 济南:历下区趵突泉北路三联商社
青岛:市南区金坛路17号 潍坊:奎文区东风东街299号建行大厦
烟台:海港路25号阳光100城市广场 临沂:兰山区红旗路1号苏宁易购
淄博:张店区金晶大道68号华润大厦 济宁:市中区太白路10号苏宁生活广场
课程培训电话:17156168575
QQ: 2720475033
全国服务监督电话:400-111-8989    服务邮箱 tousu@tedu.cn

2001-2017 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56