二进制正负数转换和移位的规则详解

article/2025/9/18 21:40:53

1、转换规则

二进制整数都是以补码的形式出现的
正数的原码、反码、补码都相同
负数的反码就是正数的原码先把最高位变为1然后其余的位取反
负数的补码就是该负数的反码加1。

2、二进制的移位规则

<<和>>

二进制数,在向右移1位近似表示除以2,但是十进制的奇数转化为二进制数后,在向右移时,最右边的1将被直接抹去,说明向右移对于奇数并非完全近似于除以2。
左移 <<,和右移>> 两种运算中,符号位均参与移动,除了负数右移,高位补1之外,其他情况均在空位处补0。
在这里插入图片描述在左移运算中,由于符号位均参与向左移动,如上图,最左位可能是1或者是0,正数向左移动的结果可能是正,也可能是负;负数向左移动的结果同样可能是正,也可能是负。

>>>>无符号右移

注意不存在<<<无符号向左移动的运算方式!
对于三个大于号的>>>无符号向右移动时,正负数高位均补0,造成的结果就是:
正数不断向右移动的最小值是0
负数不断向右移动的最小值是1
无符号意即藐视符号位,符号位失去特权必须像其他平常的数字位一起向右移动,高位直接补0,根本不关心是正数还是负数。此运算常用在高位转低位的场景中。
在这里插入图片描述为何负数不断地无符号向右移动的最小值是1呢?在实际编程中,位移运算仅作
用于整型(32位)和长整型(64位)数上,假如在整型数上移动的位数是32位,无论是否带符号位以及移动方向,均为本身。因为移动的位数是一个mod32的结果,
即35>>1与35>>33是一样的结果。如果是长整型,mod64,即35<<1与35<<65的结果是一样的。负数在无符号往右移动63位时,除最右边为1 外,左边均为0,达到最小值1,如果>>>64,则为其原数值本身。


http://chatgpt.dhexx.cn/article/bkS6VkJh.shtml

相关文章

二进制转换是十进制负数处理

二进制转换成十进制&#xff0c;最高位是符号位&#xff0c; 0表示正 1负数 负数求值&#xff1a;反码 在加1 如1111 1111 1001 0100的十进制实际值 反码 0000 0000 0110 1011 在加1 实际值是108 如图&#xff1a;

python小技巧:求32位二进制负数的补码,附剑指offer中的应用

实现方法&#xff1a; 先上操作&#xff0c;python里面的负数直接将其和 0xffffffff 进行 与&#xff08;&&#xff09; 操作即可得到其补码&#xff1a; def func(n):if n<0:nn&0xffffffff #这个是python里面的&#xff0c;python和别的语言存储负数的格式有点区…

android 16进制负数转化,十进制负数转换为二进制、八进制、十六进制的知识分享...

程序猿们或许对二进制都不陌生,二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。但是很多人都会将二进制转换成整数,但是如何用二进制表示负数呢?有的人会说,在二进制前面加个负数符合。而计算机只能认识0 和 1,又怎么去加个额外的负数符号…

pandoc不是内部或外部命令

1.安装pandoc win7&#xff0c;在Anaconda prompt中 pandoc 显示 ‘pandoc’不是内部或外部命令&#xff0c;也不是可运行的程序分析原因&#xff0c;应该是没添加路径&#xff0c; 环境变量中有 “安装环境\Anaconda3\Scripts”&#xff0c;也不知道应该添加啥 我的情况是…

cmd中运行pip显示不是内部或外部命令

如果在使用python pip命令安装库的时候出现了以下报错&#xff0c;可以用下面两种方法解决 C:\Users\小雨>pip pip 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 1. 检查一下是否正确安装了Python。 2. 将Python的安装路径添加到系统环境变量中。通常…

解决:python不是内部或外部命令

在命令行窗口&#xff08;Linux 称为终端&#xff09;中输出 python 命令后&#xff0c;却显示“‘python’不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件”&#xff0c;具体现象如下&#xff1a; 出现此问题&#xff0c;是因为在当前的路径中找不到 Python…

vue不是内部或外部命令

作为一个vue小白&#xff0c;最近为vue安装真是操碎了心。 无论怎么查找网上的教程&#xff0c;还是解决不了“vue不是内部或外部的命令”诸如此类的问题。 好在功夫不负有心人&#xff0c;终于在多次的试验下&#xff0c;成功解决了这个问题。 第一种情况&#xff1a; vue不…

cmd运行ping不是内部或外部命令_处理CMD系统提示不是内部或外部命令也不是可运行的程序或批处理文件的方案...

近几日有网友询问小编&#xff0c;声称自己在运行CMD命令提示符窗口&#xff0c;出现不是内部或外部命令也不是可运行的程序或批处理。这种故障是怎么产生的呢&#xff1f;其实很简单&#xff0c;就是因为系统环境变量异常&#xff0c;只要我们能重新配置系统默认值就可以修复好…

Python pip不是内部或外部命令怎么办

目录 1.打开此电脑​编辑 2.点击右上角的三个点找到属性​编辑 3.找到高级系统设置​编辑 4.点击环境变量​编辑 5.点击Pyth&#xff0c;再点击编辑 ​编辑 6.点击新建&#xff0c;并将“7”中复制的路径粘贴上来 ​编辑 7.找到你自己Python安装的盘&#xff0c;点进去&a…

‘node‘ 不是内部或外部命令

问题详情&#xff1a; 输入命令&#xff0c;提示&#xff1a;node 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 解决办法&#xff1a; 1、点击高级系统设置 2、点击环境变量 3、点击新增按钮&#xff0c;填写变量名和变量值&#xff0c;点击“确定”按钮…

Vue 不是内部或外部命令解决办法

‘vue’ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件 今天被这个问题困扰很久&#xff0c;所以写篇文章总结一下&#xff0c;避免下次再遇到同样的问题导致大量时间流逝 解决这个问题的方法就是找到vue.cmd这个文件存在的目录&#xff0c;一般是这个目录&…

cmd运行jmeter提示不是内部或外部命令

学习jmeter生成报告的时候&#xff0c;运行生成报告的命令&#xff0c;一直提示不是内部或外部命令~~ 如果未生成结果文件&#xff08;.jtl&#xff09;,可运行如下命令生成报告: jmeter -n -t source.jmx -l result.jtl -e -o /tmp/ResultReport 参数: -n &#xff1a;以非…

jps不是内部或外部命令

JPS不是内部或外部命令 需要把Path环境变量中的JDK和JRE的bin分开 原来&#xff1a; 更改后&#xff1a; 终端可以使用jps命令&#xff1a;

windows make 不是内部或外部命令

1 window 下 make 报错 make 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 2.解决 装windows下的make工具mingw32-make。MinGWMinGW官网下载&#xff1a;http://www.mingw.org 1 安装 mingw-get-setup.exe&#xff0c;直接默认安装就好了。 2 安装完之后…

‘keytool‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

最近Android项目需要jks获取相关的SHA1到第三方平台获取相关的appkey之类的东西 于是cmd打开命令窗口直接输入keytool -list -v -keystore D:\xxxx.jks 然后直接出现了&#xff1a; keytool 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件 解决方案&#xff…

chmod不是内部或外部命令

opencv用mingw64在Windows系统中编译出现的问题 opencv&#xff08;V3.4.7&#xff09; mingw64&#xff08;MinGW-W64 GCC-8.1.0_x86_64-8.1.0&#xff09; Windows10 Professional 64bit 错误描述&#xff1a; ‘chmod’不是内部或外部命令&#xff0c;也不是可运行的程序 或…

java 不是内部或外部命令_win8系统运行java提示“java不是内部或外部命令”怎么办...

win8系统win8系统运行java突然提示“java不是内部或外部命令”&#xff0c;刚刚接触win8 64位系统的新手用户不知道怎么解决“java不是内部或外部命令”的问题&#xff0c;针对此问题&#xff0c;小编研究整理出两个方法给大家&#xff0c;想进一步了解的用户一起往下看。 方法…

python在cmd中显示不是内部或外部命令,cmd中显示python不是内部或外部命令该怎么办...

cmd中显示python不是内部或外部命令该怎么办 今天给大家介绍一下cmd中显示python不是内部或外部命令的解决方法。如图,显示如下提示。 1. 首先我们需要找到之前安装python的目录,然后找到“python.exe”,双击。 2. 执行成功后,我们发现是可以进入python页面的。 3. 这就说明…

Python不是内部或外部命令的(完美解决)

前言 最近鼓捣鼓捣Python&#xff0c;写个小程序爬爬网站&#xff0c;发现有人在写用爬虫搞CSDN的自动签到&#xff08;然并卵&#xff08;luan&#xff09;&#xff09;&#xff0c;然后发现在执行安装selenium的命令的时候提示“Python不是内部或外部命令” 其实&#xff0c;…

vue 不是内部或外部命令

通过vue指令使用脚手架初始化项目时&#xff0c;在cmd中输入vue init webpack vue_project&#xff0c;终端报错: vue 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。解决方案&#xff1a; 1、确定npm是否已正确安装&#xff0c;在cmd中输入如下指令&#…