移位运算符的介绍与使用
文章目录
- 前言
- 一、位运算是什么?
- 二、移位运算符有哪些?
- 1.左移运算符<<
- 1.1语法格式
- 1.2计算过程
- 1.3数学意义
- 2.右移运算符>>
- 2.1 语法格式
- 2.2 计算过程
- 2.3 数学意义
- 补充
- 总结
前言
在程序设计语言当中,位操作运算符是一个比较少用到的操作符,但是在特殊的时候又能起到很好的作用,因此在这里简单介绍一下位运算符的使用。
提示:以下是本篇文章正文内容,下面案例可供参考
一、位运算是什么?
程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理):
110
AND 1011
———-
0010 –> 2
由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。
二、移位运算符有哪些?
1.左移运算符<<
按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
1.1语法格式
需要移位的数字 << 移位的次数
例如: 3 << 2,则是将数字3左移2位
1.2计算过程
3 << 2
首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12。
1.3数学意义
在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。
2.右移运算符>>
按二进制形式把所有的数字向右移动对应位移位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。
2.1 语法格式
需要移位的数字 >> 移位的次数
例如11 >> 2,则是将数字11右移2位
2.2 计算过程
11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010。转换为十进制是2。
2.3 数学意义
右移一位相当于除2,右移n位相当于除以2的n次方
补充
6种位操作符的形式与含义如下:
& :按位“与”(AND);
| :按位“或”(OR);
^ :按位“异或”(XOR);
~ :“取反” (NOT);
>> :数据右移;
<< :数据左移;
总结
以上就是今天要讲的内容,本文仅仅简单介绍了两种移位运算符的使用,利用移位运算符进行运算是非常快的,在进行数学运算的时候,如果可以选用移位运算符就尽量选择移位运算。由于移位运算符常常是2的幂次运算,因此常常用于完全二叉树的计算。
移位运算符的介绍与使用相关推荐
- 移位运算符(详细介绍)
移位运算符 左移(<<) 正数:按二进制形式,把所有数字向左移动对应位数,高位移除,低位空位补0 例如12<<2=48 12对应二进制0000 1100 左移两位变成0011 ...
- c语言表达式5 gt 3 gt 1,perl运算符使用介绍与简单应用
perl 5基础教程--运算符 一.算术运算符 :+(加).-(减).*(乘)./(除).**(乘幂).%(取余).-(单目负) (1)乘幂的基数不能为负,如 (-5) ** 2.5 # error: ...
- 移位运算符解子集问题--用移位运算符转十进制为二进制
想直接看十进制转二进制的同学可以跳转: 目录 p.用移位运算符转十进制为二进制 子集是一个数学概念:如果集合A的任意一个元素都是集合B的元素,那么集合A称为集合B的子集. --百度百科 现在给你一个数 ...
- c语言中左移右移有什么作用,C语言中左移和右移运算符详细介绍
搜索热词 C语言中左移和右移运算符详细介绍 左移运算符(< 左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出 ...
- java中的移位运算符
移位运算符是在数字的二进制形式上进行平移.主要有左移(<<).带符号右移(>>)以及无符号右移(>>>). 左移运算符(<<)的运算规则为:按二进 ...
- python左移位运算_python移位运算符
1,二进制方式 >>> bin( 1)'0b1' >>> bin( 10)'0b1010' >>> a =0b10>>>a2 & ...
- java 偏移符号_java中的移位运算符总结
java中的移位运算符:<>,>>>总结 java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> ...
- java中 移位运算_java中关于移位运算符的demo与总结(推荐)
首先,移位运算符有三种,其操作类型只支持:byte / short / char / int和long五种. << 左移运算符,表示将左边的操作数的二进制数据向左移动*位,移动后空缺位以0 ...
- java学习(21):移位运算符
//移位运算符 public class test{ public static void main(String[] args){ int num=3; //向左移位 System.out.prin ...
- =在 java中怎么表示_在Java中各种类型运算符的介绍与其基本使用方式(有具体使用示例)...
一.算数运算符 基本四则运算符 + - * / %(使用规则简单,正常使用即可) 注意事项: a) int/int 结果还是 int 要保留小数需要使用double来计算 int a = 1; int ...
最新文章
- 数据结构 结构的声明 一个结构作为另一个结构的成员 单向链表的实现 双向链表的实现
- python 去除字符串里所有标点符号
- Spring中Bean的作用域都有哪些?
- 推荐系统实战系列(python版).rar_python实战音乐推荐系统
- 【渝粤教育】电大中专电商运营实操 (17)作业 题库
- 【翻译】What the f*ck JavaScript?(JavaScript你怎么这样啊???)
- java转换apk软件_jar软件转安卓apk软件
- wamp php不可用_PHPWAMP开启php
- java 仓库管理系统源码
- node-sass 安装失败,原因总结
- Perl读取文件信息
- ASTC on Android
- 最好最实用的PHP二次开发教程
- HTML5期末大作业:动漫A网站设计——动画漫展学习资料电影模板(6页) 网页设计作业 / 动漫网页设计作业,网页设计作业 / 动漫网页设计成品,网页设计作业 / 动漫网页设计成品模板下载
- VirtualXposed框架里点权限管理-XPrivacyLua下载安装失败
- python plt图片保存emf类型_matplotlib---保存图片出现的问题
- 几行CSS让你的页面立体起来
- [C#] C#深入浅出4th Edition [2]
- 利用Python将选择题、多选题导入Anki
- HR直言:这几类求职者不会要!
热门文章
- 电磁仿真软件CST2020 下载链接及安装破·解教程笔记
- 0055-在OpenCV环境下合成高动态范围图像(HDR)
- dreamweaver cs6 连接mysql_dreamweaver cs6连接数据库的具体流程讲述
- 认识PASCAL VOC数据集(目标检测)
- 《天道》中最智慧的4句话,看懂改变一生
- ie html5缓存,ie缓存文件在哪,教您IE浏览器缓存文件在哪
- Navicat导入mdf文件(用导入向导)
- 利用代码将网站预测蛋白稳定性突变自动化
- 第一章 由内而外全面造就自己
- linux如何删除非空文件夹_linux删除文件夹命令