位运算中的左移和右移的计算详解

最近在学习javaScrapt,在学到位运算符这部分的时候,突然发现看不懂书上的例子了。经过查找资料后,发现了一遍不错的文章。分享一下:
正数的左移和右移
以3为例
3的二进制为
00000011
右移2位的时候将最右的11去掉左边补00结果为:00000000 — >十进是中的0
左移2位的时候将最左的00去掉右边补00结果为:00001100 —–>十进是中的12

对于-3来说,负数的都是以补码的形式存在于计算器中
补码 = 反码+1
-3的二进制为
100000011
取反的补码为(符号为不变)
111111100
再加1,为补码11111101

右移2位的时候将最右的01去掉左边补11结果为:11111111 —> 为补码,要求原码
还需要-1 :11111110 ,再取反(符号位不动) :10000001:——>十进制中的-1,所以-3的右移2位为十进制中的-1

左移2位的时候将最左边11去掉右边补00结果为:11110100 —-> 为补码,要求原码
还需要-1:11110011,再取反(符号位不动):10001100:—–>十进制中的-12,所以-3的左移2位为十进制中的-12

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AC日记——字符串P型编码 openjudge 1.7 31

31:字符串p型编码 总时间限制: 1000ms内存限制: 65536kB描述给定一个完全由数字字符(0,1,2,…,9)构成的字符串str,请写出str的p型编码串。例如:字符串122344111可被描述为"1个1、2个2、1个3、2个4、3个1",因…

javascript中的define用法

文章目录1. AMD的由来2. AMD是什么3. AMD实例:如何定义一个模块4. 匿名模块5. 仅有一个参数的define6. Dojo中的AMD7. 结论最近由于工作需求只能快速学习JS,但在看代码的时候发现许多东西都有疑问比如说代码刚开始的define关键字的用法,刚好最…

解决:pip警告!DEPRECATION: The default format will switch to columns in the future.

pip警告! DEPRECATION: The default format will switch to columns in the future. You can use --format(legacy|columns) (or define a format(legacy|columns) in your pip.conf under the [list] section) to disable this warning. pip升级到9.0.1后 查看pi…

PLSQL安装配置

(1)解压:plsql developer Oracle数据库开发工具首先确保有oracle数据库或者有oracle服务器,然后才能使用PLSQL Developer连接数据库。(2)工具---首选项---连接----输入OCI库(设置之后不用再装or…

Mysql 学习笔记2

(1)MySQL查看表占用空间大小 //先进去MySQL自带管理库:information_schema //自己的数据库:dbwww58com_kuchecarlib //自己的表:t_carmodelparamvalue mysql> use information_schema; Database changed mysql&g…

python程序打包为exe可执行文件

大家都知道,Python是一种脚本语言,也就是解释型的语言,需要解释器来进行解释以后才可以执行,而Python源代码需要在Python虚拟机上面运行,但是我们做好的程序,不可能给用户使用的时候还让他安装一个Python环…

Backbone简介

1. 前言 本文的目的,是帮助大家快速理解掌握Backbone的使用,但它并不是API,因此我不会将每一个方法都详细地描述,但是我会告诉你如何学习它们。 这是一篇稍稍较长的技术文章,因为我想将我所了解的东西尽可能详细地分享…

使用Android Studio搭建Android集成开发环境

一、Android Studio简单介绍 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境)。它基于Intellij IDEA开发环境,旨在取代Eclipse和ADT(Android开发者工具)为开发者提供更好的开发工具。既然G…

[Oracle]UNIX与Windows 2000上Oracle的差异(I)

作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net翻译:Fenng -----------------------------------------------------------------------------------------------------------------…

django2.x报错No module named 'django.core.urlresolvers'

解决方法就是: from django.urls import reverse 最近从django1.9迁移到django2.0中出现一个意外的报错: 这个报错的原因在stack overflow上有很直接的解释,但是百度上并没有直接的答案。 简单来说,原因就是:django2.0 把原来…

Underscore简介

5. Underscore.js Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率。它本身与我们介绍的主题“Backbone”没有半毛钱的关系,因此你可以完全不理会“Backbone”的概念来学习它,或将它单独运用到任何一个页面。(另外…

POJ2190 HDU2714 ISBN

USACO 2003 Fall Orange 问题链接:POJ2190 HDU2714 ISBN。 问题简述:参见上述链接。 问题分析: 单纯的计算问题。需要注意以下几点: 1.如果是末尾数,则输出为‘X’; 2.如果能找到对应的值则输出&#xff1b…

Django-安装xadmin的方法及主要配置方法

历经千辛万苦,终于实现了django2.1中xadmin的使用 被论坛里各路神仙带跑N次 准确说是几个小时 直接colne https://github.com/Liu0330/xadmin 工作系统环境:win10Python3.6.xDjango2.1.xXadmin2.0(注意2.2版本就不行!&#xff…

大数据集群搭建之Linux的安装(一)

1、准备工具 VMWare、centos mimal版本系统文件。 2、工具安装 1、安装vmware软件 安装软件地址: VMWare:http://pan.baidu.com/s/1qYnySrE 密码:3t3r centos mimal版本:http://pan.baidu.com/s/1dE5LY6H 密码&#xff1a…

阻止事件冒泡两种方式:event.stopPropagation();和return false;

jQuery提供了两种方式来阻止事件冒泡。 方式一:event.stopPropagation(); $("#div1").mousedown(function (event) {event.stopPropagation(); }); 方式一:return false; $("#div1").mousedown(function (event) {return false; });…

关于电脑的基础单词笔记

chapter01 mouse 鼠标. keyboard 键盘. notepad 记事本 . sava 保存. chapter02 word 文本文档. office 办公软件. copy 复制. past 粘贴. find 复制. table 表格. page 页. picture 图片. chapter03 sheet 工作薄. cell 单元格. number 数字. true 真. …

Python3.6+Django2.0+Xadmin2.0学生信息管理系统

一、创建模型 模型是表示我们的数据库表或集合类,并且其中所述类的每个属性是表或集合的字段,在 app/models.py 中定义。 1、首先,导入models模块 from django.db import models 接下来创建个学生信息类,其中包含学生姓名、性别…

升级 pip版本

安装第三方库:pip install Pillow 出现 You are using pip version 7.1.2, however version 9.0.1 is available. You should consider upgrading via the python -m pip install --upgrade pip comm and. 解决方法1: 输入“python -m pip install -U pi…

大数据集群搭建之节点的网络配置过程(二)

紧接着上一章来设置windows的vmnet8的ip地址和虚拟机中centos的ip地址。 NAT虚拟网络的配置图如下图所示: 1、这里根据VMware中得到的网关地址去设置vmnet8的ip地址。 网关地址查看: 2、得到的网关地址后去设置vmnet8,将网关地址设置为v…

Python3.6+Django2.0+Xadmin2.0学生信息管理系统-2

1、上传图片/文件等资源 有时候需要添加一些附件,例如,新生刚入学,大家相互之间还不熟悉,希望能通过照片来加深印象,并且方便教学管理。 首先,对demo/urls.py文件进行改造,给urlpatterns添加s…