按位取反 您所在的位置:网站首页 Python按位取反的计算机计算原理 按位取反

按位取反

2023-11-12 09:38| 来源: 网络整理| 查看: 265

在java中,所有数据的表示方式都是以补码的形式来表示,如果没有特别的说明,java中数据类型默认为int类型,int数据类型的长度是8 位,也就是32字节,32bit的意思;因此

正数的按位取反   :

正数的源码、反、补码都相同。

1.先把正数转换成二进制

2.把二进制取反再加一      

 以2为例  

(1)2的二进制是0000 0000  0000 0000  0000 0000 0000 0010

(2)取反:1111 1111  1111 1111  1111 1111  1111 0010

(3)加一:1111 1111  1111 1111  1111 1111  1111 0011   这是-3的二进制

                          这是符号位    1代表负数 0代表正数

(4)所以2 的按位取反是-3;

负数的按位取反:

关系:

负数的补码=反码+1;

过程:负数的源码就是其绝对值转化成二进制   取反得到反码    然后加一得到的结果

(负数的源码就是其绝对值的源码取反,然后加一)

以-5为例:

(1):先取-5的绝对值  5

(2)把5转换成二进制为0000 0000 0000 0000 0000 0000 0000 0101

(3)对-5的二进制取反为1111 1111 1111 1111 1111  1111 1111 1010

(4)对其加一     1111 1111 1111 1111 1111  1111 1111 1011 这是计算机内部储存的补码

(5)对补码取反   0000 0000 0000 0000 0000 0000 0000 0100 就是源码  这是4的二进制

(6)所以-5的按位取反是4



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有