short转换byte

java数据类型转换

		long a = 800;		//long是64位二进制数		8个字节
		
		int b = (int)a;		//int是32位二进制数		4个字节
		
		short c = (short)b;	//short类型是16位二进制数,0000 0000 0000 0000	2个字节
		
		byte d = (byte)c;	//byte类型是8位二进制数,256个数(-128~127),0000  0000		1个字节
		
		
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		

当强转时,高位会丢失。例如,short = 800的二进制是0000-0011-0010-0000,

  • byte,bit,

1Byte=8bit

1KB=1024B

1MB=1024KB(2的十次方)

  • 为什么电脑IPv4地址最大值是255?

IPv4地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)

8个二进制位一共可以表示2^8=256个数,即0~255。

  • IPv6详解

IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。
一、冒分十六进制表示法
  格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16bit(位),以十六进制表示,例如:
  ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
  这种表示法中,每个X的前导0是可以省略的,例如:
  2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
  
  
二、0位压缩表示法
  在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
  FF01:0:0:0:0:0:0:1101 → FF01::1101
  0:0:0:0:0:0:0:1 → ::1
  0:0:0:0:0:0:0:0 → ::
  

三、内嵌IPv4地址表示法
  为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96bit采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用




笔试题:

short s1 = 1; s1 = s1 + 1;有错吗?
在这里插入图片描述

short s1 = 1; s1 += 1;有错吗?

在这里插入图片描述

对于short s1 = 1;
 s1 = s1 + 1;由于1int类型,因此s1+1运算结果也是int 型,
 需要强制转换类型才能赋值给short型。

而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;
相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值