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

按位取反操作_按位取反末尾加一编程时:~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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JS部分

    前端三剑客(HTML,CSS,JavaScript)JS概念JS语言的特点JS的历史1992年Nombas开发出C-minus-minus(C–)的嵌入式脚本语言(最初绑定在CEnvi软件中

    2022年3月29日
    43
  • 如何修改手机IP地址

    如何修改手机IP地址说起手机换IP大家可能没有对电脑换IP那么熟悉,但是现在智能手机能做到事情越来越多,手机换IP也成为许多工作需要,一部分人还不知道怎么操作,就跟着小编一起来看看手机换IP的几种方法。一、手动换IP这个适合偶尔换IP,时间富裕的朋友,我们使用手机进行开关飞行模式,这样就可以进行换IP。也可以找到手机设置点进去先进入WiFi热点的列表,点击所连接的WiFi热点的名字。选择“修改网度络”,然后勾选“显示高级选项版”,就可以进行IP设置了。还有一种比较简单,就是用软件辅助换IP,这里以芝麻代理为例

    2022年6月28日
    66
  • linux 下载文件 rz,linux rz/sz上传下载文件命令「建议收藏」

    linux 下载文件 rz,linux rz/sz上传下载文件命令「建议收藏」一、工具说明在SecureCRT这样的ssh登录软件里,通过在Linux界面里输入rz/sz命令来上传/下载文件.对于某些linux版本,rz/sz默认没有安装所以需要手工安装。sz:将选定的文件发送(send)到本地机器;rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive).下载安装包lrzsz-0.12.20.tar.gz:http://www….

    2022年8月24日
    6
  • ubuntu CUDA卸载重装[通俗易懂]

    ubuntu CUDA卸载重装[通俗易懂]sudoaptremovenvidia*sudoaptremovecuda*sudoaptremovecudnn*如果之前是deb包安装的,还要操作如下步骤:sudoapt-keylist|grepcudapubrsa40962016-06-24[SC]AE09FE4BBD223A84B2CCFCE3F60F4B3D7FA2AF80uid[未知]cudatools<cudatool

    2025年9月19日
    4
  • Docker安装Nexus3私服以及使用

    Docker安装Nexus3私服以及使用一、Nexus简介二、安装步骤(使用docker)1、搜索Nexus3镜像dockersearchnexus​2、拉取Nexus3镜像dockerpullsonatype/nexus3​3、创建Nexus3容器dockerrun-itd-p8081:8081–privileged=true–namenexus3\-v/data/nexus-data:/var/nexus-data–restar…

    2022年7月13日
    11

发表回复

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

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