short int占几个字节,java int转short_科技资讯_七洗推广网

short int占几个字节,java int转short

#科技资讯 发布时间: 2023-08-27

前言

今天在复习Java基础时,遇到了一个问题,这也是为之前没学好Java基础和计算机组成原理补的一个坑。

问题

为什么将 int 类型的12312341强转为 short 类型后,输出会是 -8427呢,而262199强转后却变成了55。再一顿查找计算机组成原理书后,终于恍然大悟。

解析

首先 int 类型是占

32

位,而 short 类型是占

16



在计算机中表示的带符号的二进制数称为“机器数”,而机器数有3中表示方法:

原码、反码补码


而计算机都是用

补码

进行运算的

因此,我们在int强转为short时,就是截取int类型数值的低16位,再将其转换为补码

详细过程:


例1:12312341转换为short类型


取其低16位为:1101 1111 0001 0101

负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

而负数的补码就是在其反码的基础上+1

因此其补码为 1010 0000 1110 1011,转换为10进制就是 -8427

例2:262199转换为short类型


取其低16位为:0000 0000 0011 0111

正数的反码和补码都和原码一样

因此其补码为0000 0000 0011 0111,转换10进制就是55

总结

继续复习Java基础吧!

《short int占几个字节,java int转short》来自互联网同行内容,若有侵权,请联系我们删除!

科技资讯SEO

上一篇 : 租服务器一台多少钱?

下一篇 : 斗鱼电棍皮肤为何引发争议?
品牌营销
专业SEO优化
添加左侧专家微信
获取产品详细报价方案