按位取反操作_按位取反末尾加一

按位取反操作_按位取反末尾加一编程时:~1输出结果为-2,~(-5)的输出结果为4,很是疑惑,通过查阅资料终于明白。首先~是取反操作,计算机存储时是按照补码存储。 ~1= -2计算步骤: 1的二进制表示——————————–00000001 按位取反—————————————-11111110

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

编程时: ~1 输出结果为 -2 ,~(-5)的输出结果为 4,很是疑惑,通过查阅资料终于明白。

首先~是取反操作,计算机存储时是按照补码存储。

 

~1 =  -2

计算步骤:

 1的二进制表示——————————–0000 0001

 按位取反—————————————-1111 1110   (计算机以补码形式存储,所以要求11111110的补码)

 求补码——————————————-1000 0010(11111110除符号位,其他位取反加一)

因此 ~1 =-2

再看负数取反操作 ~(-5)= 4

-5 的二进制表示 —————————————–1000 0101 (求补码)

-5的补码 —————————————————1111 1011

按位取反 —————————————————0000 0100 (等于4)

正整数的补码还是正整数的二进制表示,负整数的补码除符号位其他位取反加一,计算机内都以补码的形式存储

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

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

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


相关推荐

  • MySQL查看用户权限及权限管理

    MySQL查看用户权限及权限管理一、MySQL权限级别介绍全局——可以管理整个MySQL库——可以管理指定的数据库表——可以管理指定数据库的指定表字段——可以管理指定数据库的指定表的指定字段权限存储在mysql库的user,db,tables_priv,columns_priv,procs_priv这几个系统表中,待MySQL实例启动后就加载到内存中二、查看用户权限1、查看所有用户(用户名、给谁授权)…

    2022年6月18日
    68
  • jvm定义的类加载器_类加载器有哪些

    jvm定义的类加载器_类加载器有哪些0.为什么需要自定义类加载器网上的大部分自定义类加载器文章,几乎都是贴一段实现代码,然后分析一两句自定义ClassLoader的原理。但是我觉得首先得把为什么需要自定义加载器这个问题搞清楚,因为如果不明白它的作用的情况下,还要去学习它显然是很让人困惑的。首先介绍自定义类的应用场景:(1)加密:Java代码可以轻易的被反编译,如果你需要把自己的代码进行加密以防止反编译,可以先…

    2022年9月6日
    2
  • MySQL存储的字段是不区分大小写的,你知道吗?

    点击上方Java编程技术乐园,轻松关注!及时获取有趣有料的技术文章做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!00 简单回顾之前写过一篇关于mysql 对表大…

    2022年2月28日
    33
  • ORACLE 存储过程死锁[通俗易懂]

    ORACLE 存储过程死锁[通俗易懂]/**问题描述:在编译某个存储过程时,由于没提交或断网或者TEST没停止又重新编译,导致编译存过一直卡死问题分析:存储过程或某张表被锁例如:存储过程p_BonusMID死锁,表现的现象是在编译时无响应。**/–首先使用下面语句查询存过(存储过程)p_BonusMID的进程SELECT*FROMV$DB_OBJECT_CACHEWHEREname=UPPER(‘

    2022年7月17日
    12
  • 软件测试——黑盒测试方法

    软件测试——黑盒测试方法1、测试用例的定义:是为了特定的目的而设计的一组有测试输入、执行条件、预期结果的案例(文档)2、测试用例的构成要素:例如qq邮箱用例测试:3、黑盒测试黑盒测试用例设计方法:等价类、边界值、判

    2022年7月3日
    28
  • sql2012安装错误代码0x84b10001_sql2008配置系统未能初始化

    sql2012安装错误代码0x84b10001_sql2008配置系统未能初始化【错误描述】Sql2008安装启动失败,弹出 配置系统未能初始化0x84B10001【解决方法】先安装sql2008sp3补丁.然后再安装Sql2008,最后再装一次sp3补丁.

    2022年9月11日
    0

发表回复

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

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