python基础(四)python中的位运算
(一)python中的位运算
位运算即按位(bitwise)运算,python中的位运算符有&、|、^、~、>>、<<。具体的:
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。注意如果原始数据不是二进制的需要先转化为二进制。后面其他位运算也是这样的,因为位只能取0或1。
| 按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1,其他情况为0。
&、| 和and、or的区别:&、|在数值变量中它是位运算如果是逻辑变量则没有区别。
python中的布尔逻辑运算:and、or。如果and,or左右是布尔值则and的结果是:存在false则结果为false,都是true则结果为true。or的结果是:如果存在true则结果是true,如果全是false则结果是false。如果and、or左右不是布尔值而是具体值则and的结果是:如果结果是true则返回最后一个真值,如果结果是false则返回第一个false值。or的结果是:如果结果是true则返回第一个true值,如果结果是false则返回最后一个false值。(即左右都同true同false时则返回最后一个值)。
^ 按位异或运算符:当两对应的二进位相异时,结果为1 。
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -(x+1)。why?当按位取反后二进制表示负值,负值的十进制结果是先取反再加1再取相反数,这里再取反不就是原始值x吗,然后加1取反即-(x+1)。故而 ~x==-(x+1)。
>> 右移动运算符:把>>左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。
<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。
(二)python中的位运算问题举例
问题1:不用加减乘除做加法。(选自《剑指offer》面试题65,P310)
解答:
def add(num1, num2):while num2 != 0:sum = num1 ^ num2carry = (num1 & num2) << 1num1 = sumnum2 = carryreturn num1
问题2:
python基础(四)python中的位运算相关推荐
- Python 中的位运算-基础知识
目录 1.编码基础知识-原码.反码.补码 1.1 原码 1.2 反码 1.3 补码 2.Python 中的位运算 2.1 左移运算符(<<) 2.2 右移运算符(>>) 2.3 ...
- python基础四_01_面向对象
python基础四_01_面向对象编程 导读: 本文主要从what?why?how?三个方向理解面向对象编程的思想:仅供自己梳理. 一.什么是面向对象编程? 面向对象编程与面向过程编程是两种常见的编程 ...
- Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho
Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...
- Python基础了解 python自带IDLE编译
目录 学习小标 学习产出: 前言 一.Python版本 二.语言运用的占比 2021年 6 月编程语言排行榜前 20名 三.Python的应用 1.Web开发 2.网络爬虫 3.大数据处理 4.人工智 ...
- python基础语法--python语言及其应用
python基础语法 python引言 python python语言是一种高级动态.完全面向对象的语言. python中函数.模块.数字.字符串都是对象. python完全支持继承.重载.派生.多继 ...
- 我的全栈之路-Python基础之Python概述与开发环境搭建
我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...
- 视频教程-扣丁学堂Python基础视频教程-Python
扣丁学堂Python基础视频教程 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即订阅 扫码下载「CSD ...
- 二十一. Python基础(21)--Python基础(21)
二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性: #类.属性: 调用的就是类中的属性 #对象.属性: 先从自己的内存空间里找名 ...
- python基础类型,Python基础-类
Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...
最新文章
- iOS更改AppIcon
- 使用C#调用Python脚本,带参数列表
- C中计算程序运行时间差(毫秒级)
- IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡
- python图形化编程工具哪个好_mPython(图形化编程软件) V0.5.0 官方版
- hive 语句总结_HiveQL查询语句总结
- hack wifi android,WiFi Hack AIO 2010 - WiFi v1.2
- python自动测试m_python自动化测试实例解析
- 加密和解密盐的使用_码农吐糟面试官:居然问我md5是对称加密还是非对称,故意的吧?...
- 【机器学习】逻辑回归(LogisticRegression)分类鸢尾花
- 各类任务的数据集大数据库
- 启用计算机的fn键,怎么关闭手提电脑上的FN键功能?我的是联想
- Linux中cd会进入什么位置,linux命令中cd/和cd命令是什么意思
- 东南亚电商龙头 shopee 社招,校招 内推(长期有效)
- mac蓝牙连接有问题要怎么处理呢?
- Javascript的常见数据类型以及相应操作
- 常见SOC启动流程分析
- Polkadot + DeFi | 透明公平、高效交易的去中心化金融未来可期
- 机器学习-雅可比式与多元高斯分布
- START WITH 的用法
热门文章
- 疫情下的5.20给女朋友写的一份信:哈哈感动了女友,一下午也值了(一份静态网站,基础入门的也可以看懂+简单部署)
- 文心一言的蝴蝶振翅,云计算的飓风狂飙
- Redis 6.2.6(NoSQL简介/redis介绍及安装/数据类型/配置文件)
- 3a认证服务器型号,3A_tacacs认证
- 新东方推荐的有助于英语学习的电影
- 公共云和私有云相比,主要包含哪些特点?
- vscode latex 配置福昕 foxit 阅读器
- 极光开发者周刊【No.0514】
- 水电站泄洪监测预警系统解决方案
- Python小技巧 - argmax