字节--浅谈字节(一)

接上面的那个【字节–编程题】


byte:字节,由8位的二进制组成;
在计算机中,8位带符号二进制数的取值范围是【-128,127】,Java中,byte的取值范围也是【-128,127】。

这块涉及到计算机组成原理的原反补码,计算机中数字的计算和存储都是用的补码。
原码:最高位是符号位,‘0’表示正,‘1’表示负,其余位以二进制的形式表示数值的大小;
反码:正数的反码与其原码相同;负数的反码,除符号位不变,其他位取反;
补码:正数的补码与其原码相同;负数的补码实在其反码的末位加1。

所以,字节编码可以是负数。

	public static void main(String[] args) {
		 int a = 444;
		 byte b = (byte) a;
		 System.out.println(b);
	}

解析:
int型是32位的二进制,即4个字节;
(444)原码 = (444)补码 = 0000…000110110010
int型数据(32位) 转换成 byte型数据(8位) 需要截断处理
得到:1011 0010
补码 1011 0010 = 原码 1100 1110 = -68

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值