【黑马程序员】计算机中数值的计算方式

计算机存储数值用的是原码,但对数值进行计算时却用的是补码。

负数运算:

补码:反码+1
反码:原码的符号位不变,其他位取反。
原码:符号位为1表示为负数,符号位为0表示为正数。

-5 + -4 = ?//我们在内存中有一个int类型长度的数值-5和-4,我们要对它们进行加法运算。

//-5和-4在内存中的存储形式。

10000000 00000000 00000000 00000101 //5
10000000 00000000 00000000 00000100 //4
1、将它们的原码依次转换为反码、补码:
11111111 11111111 11111111 11111010 // -5的反码
11111111 11111111 11111111 11111011 //-5的补码
11111111 11111111 11111111 11111011 //-4的反码
11111111 11111111 11111111 11111100 //-4的补码

2、进行运算。

        11111111 11111111 11111111 11111011

        11111111 11111111 11111111 11111100
----------------------------------------------------------
11111111 11111111 11111111 11111111
//得出结果的补码,这一步还没有结束,我们需要把补码转换为原码然后存储到内存中。补码转原码,就是原码转补码的逆操作。
11111111 11111111 11111111 11111110 补码-1等于反码
11111111 11111111 11111111 11111110 反码符号位不变,其余取反得出原码。

10000000 00000000 00000000 00000001 将结果的原码存储到内存中。

正数运算:

正数的原码、反码、补码都一样,算起来也简单。O(∩_∩)O
5+4 = ?
00000000 00000000 00000000 00000101  5的补码
00000000 00000000 00000000 00000100  4的补码
----------------------------------------------------------------------
00000000 00000000 00000000 00001001 = 结果的补码 = 反码 = 原码.

到此结束,掀一次桌子放松一下把。       (╯‵□′)╯︵┻━┻


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值