Java取余运算[通俗易懂]

Java取余运算[通俗易懂]inta=6;~a=?Java中运算都是以补码进行计算的,6的原码为00000000000000000000000000000110,正数的补码=反码=原码所以补码也是00000000000000000000000000000110,然后进行取反操作变成了11111111111111111111111111111001,…

大家好,又见面了,我是你们的朋友全栈君。

int a = 6;

~a = ?

Java中运算都是以补码进行计算的,6的原码为 00000000  00000000   00000000   00000110,正数的补码 = 反码 = 原码

所以补码也是 00000000  00000000   00000000   00000110,然后进行取反操作变成了 11111111 11111111 11111111 11111001,

计算机是以补码进行计算的,我们最终看到的是原码。

所以将得到的数值变成原码,首先因为取反后符号位变成了1,补码等于反码+1,所以反码为 11111111 11111111 11111111 11111000,原码为 10000000 00000000 00000000 00000111

所以~a = -7

int a = -8

~a = ?

-8的原码为 10000000 00000000 00000000 00001000,反码为 11111111 11111111 11111111 11110111,补码为 

11111111 11111111 11111111 11111000,然后对补码进行取反为 00000000  00000000 00000000  00000111,因为取反之后的数值变成了正数,原码 = 补码

所以 ~a = 7

 

结论  ~n = -(n + 1)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141741.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hive中的数据类型:基本数据类型,集合数据类型_hive数据库类型

    hive中的数据类型:基本数据类型,集合数据类型_hive数据库类型数据类型1.Hive中的数据类型分为两类:基本类型和复杂类型2.基本类型包含:tinyint,smallint,int,bigint,float,double,boolean,string,timestamp,binary3.复杂类型:array,map和structa.array:数组类型,对应了Java中的集合或者数组。原始数据jack,johnlucy,miketom,bob,cindylily,helen,mary,alexfrank,grace,iran,edentony

    2022年9月16日
    2
  • Windows下使用taskkill 命令结束进程

    Windows下使用taskkill 命令结束进程Java自学的网站(Java全栈工程师|以实例驱动学习|how2j.cn)在windows下,最常使用的结束进程的方法就是打开任务管理器,找到相应的进程,选择后点击“结束进程”按钮。但是如果任务管理器被禁用或者批量结束多个进程时,是使用taskkill命令。命令介绍在命令行下输入taskkill/?就能看到这个命令的一些介绍了。命令语法:…

    2025年7月27日
    3
  • linux挂载磁盘教程「建议收藏」

    linux挂载磁盘教程「建议收藏」本文中的磁盘/dev/sdb为笔者测试服务器上的命名,在您的服务器中可能是/dev/xdb、/dev/vdb、/dev/xvdb等等请根据实际情况进行修改.1、创建挂载目录mkdir-p/www2、确认是否没有分区的磁盘,如下图,没有分区的磁盘是/dev/sdb,在您的服务器中可能是/dev/vdb,请注意按照实际名称修改fdisk-l3、为磁盘分区,若已分区,可跳过fdisk/dev/sdb4、输入n开始创建分区5、输…

    2022年6月19日
    78
  • linux下面覆盖文件,如何实现直接覆盖,不提示

    linux下面覆盖文件,如何实现直接覆盖,不提示

    2021年9月1日
    141
  • Kali Linux 2020.4 安装教程 超级详细 适合新手入门

    Kali Linux 2020.4 安装教程 超级详细 适合新手入门KaliLinux安装教程一、虚拟机配置二、KaliLinux配置三、更新软件包更新时间:2021年1月22日使用版本:5.9.0镜像官方下载地址:https://www.kali.org/downloads一、虚拟机配置使用虚拟机软件:VMwareWorkstationPro16首先点击创建新的虚拟机,先择典型(推荐)完成选择后点击下一步这里我们选择稍后安装操作系统完成选择后点击下一步此处客户机操作系统选择Linux,版本选择Debian10.x

    2022年5月22日
    80
  • linux 开发板 ldd,Linux ldd命令

    linux 开发板 ldd,Linux ldd命令Linux下的lld命令的主要作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。ldd是list,dynamic,dependencies的缩写,列出动态库依赖关系。可以用ldd–help或者manldd来看其用法。可以用which命令找到ldd的位置:$whichldd/usr/bin/ldd使用ldd,往往在制作自己的发行版时经常需要判断某条命…

    2022年6月11日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号