java byte最小值_java byte最大值最小值问题

1.计算机编码

1.1 原码、反码和补码

在计算机内,定点数有3种表示法:原码、反码和补码。

原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码:表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

原码、反码不能直接进行数值计算。

1.2 计算机数值存储

在计算机中,数值均已补码形式存储。

2.计算步骤

仅以byte为例进行阐述,byte为一字节8位,最高位是符号位。

最大值是01111111(补码),补码即原码:

最大值为:2^0+2^1+2^2+2^3+2^4+2^5+2^6=(1-2)2^7/(1-2)=2^7-1=127

最小值是10000000(补码),首先计算反码(补码-1):

01111111

然后计算原码:

10000000

最大值为:-2^7=-128

3.等比数列

首项是a1,公比是q(q≠1),则Sn=a1(1-q^n)/(1-q);

4.byte无符号表示

byte a = (byte)234;

打印出来的结果为-22,看看原因:首先byte范围-128~127,打印出其他值也属正常。

234的二进制位:

11101010

计算机会把它当成负数,首先计算其反码:

11101001

然后计算其原码:

10010110

原码为-22

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值