java中的位运符的操作

本文详细探讨了Java中数值的原码、反码和补码的概念,特别强调了Java中不存在无符号位,以及正负数在转换过程中的规则。通过具体的例子展示了正数、负数和0在补码运算中的变化,帮助理解计算机内部的算术运算机制。
摘要由CSDN通过智能技术生成

首先要知道在java中没有无符号位的,第一个是属于符号位0代表正,1代表负

一.我们要先得到的原码,正数的原码就是反码和补码,计算机计算的时候是使用补码的

二.然后进行运算,然后我们看的是原码,所以我们需要转成原码,负数的补码转成反码需要-1

反码转成原码需要取反但是符号位不动

如果是负数转的时候从原码开始转反码符号位不动其他位取反,就得到了反码,但是计算机需要的是补码,反码转补码+1在参与运算

~8= 00000000 00000000 00000000 00001000 8的原码
        00000000 00000000 00000000 00001000 8的补码
        11111111 11111111 11111111 11110111 8的取反的补码
        11111111 11111111 11111111 11110110 8的取反的反码
        10000000 00000000 00000000 00001001 8的原码

~-4=10000000 00000000 00000000 00000100 原码
    11111111 11111111 11111111 11111011 反码
    11111111 11111111 11111111 11111100 补码
    00000000 00000000 00000000 00000011 取反
    00000000 00000000 00000000 00000011原码
~4= 00000000 00000000 00000000 00000100 4的源码
        00000000 00000000 00000000 00000100 4的补码
        11111111 11111111 11111111 11111011 4取反的补码
        11111111 11111111 11111111 11111010 反码
        10000000 00000000 00000000 00000101 4取反原码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hnswzy

你的鼓励就是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值