Numpy 为运算
Numpy “bitwise_” 开头的函数是位运算函数:
Numpy 位运算包括以下几个函数:
|
函数 |
描述 |
| bitwise_and | 对数组元素执行位与操作 |
| bitwise_or | 对数组元素执行位或操作 |
| invert | 按位反取 |
| left_shift | 向左移动二进制表示的位 |
| right_shift | 向右移动的二进制表示的位 |
注:也可以使用 ‘&’、“~”、“|”等操作符进行计算。
bitwise_and
bitwise_and()函数对数组中正式的二进制形式执行位与运算
import numpy as np
print('13 和 17 的二进制形式')
a, b = ,
print(bin(a), bin(b))
print('\n')
print('13 和 17 的位与,')
print(np.bitwise_and(, ))
输出结果:
和 的二进制形式:
0b1101 0b10001
和 17的位与:
以上实例说明;
| 1 | 1 | 0 | 1 | ||
| AND | |||||
| 1 | 0 | 0 | 0 | 1 | |
| 运算结果 | 0 | 0 | 0 | 0 | 1 |
位与运算操作规律如下:
| A | B | AND |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
bitwise_or
bitwise_or()函数对数组中整数的二进制形式执行位与运算。
import numpy as np a, b = ,
print('13 和 17 的二进制形式,')
print(bin(a), bin(b)) print('13 和 17 的位或,')
print(np.bitwise_or(, )) 输出的结果:
和 的二进制形式:
0b1101 0b10001
和 的位或:
以上实例可以用下表来说明:
| 1 | 1 | 0 | 1 | ||
| OR | |||||
| 1 | 0 | 0 | 0 | 1 | |
| 运算结果 | 1 | 1 | 1 | 0 | 1 |
位或运算规律如下:
| A | B | OR |
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
invert
invert() 函数对数组中整数进行位取反运算,即 0 变为 1, 1 变为 0。
对于有符号整数,去改二进制数的补码,然后 +1、二进制数,最高位为 0 表示整数,最高位为 1 表示负数。
看看 ~1 的计算步骤:
将1(这里叫:原码)转为二进制 = 000 00 001
按位取反 = 11111110
发现符号位(即最高位)为1(表示负数),将除符号位之外的其他数组取反 = 10000001
末尾加1取其补码= 10000010
转换会十进制 = -2
| 表达式 | 二进制(2的补数) | 十进制值 | |
| 5 |
|
5 | |
| ~5 | 11111111 11111111 11111111 11111010 | -6 |
Numpy 为运算的更多相关文章
- NumPy 位运算
NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...
- NumPy算数运算
NumPy - 算数运算 用于执行算术运算(如add(),subtract(),multiply()和divide())的输入数组必须具有相同的形状或符合数组广播规则. 示例 import numpy ...
- 10、numpy——位运算
NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...
- Lesson11——NumPy 位运算
NumPy 教程目录 Lesson11--NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitw ...
- Numpy 基础运算
numpy的几种运算 1.一维矩阵运算 >>> import numpy as np >>> a=np.array([10,20,30,40]) # array([ ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 位运算
bitwise_and() 函数对数组中整数的二进制形式执行位与运算. import numpy as np print ('13 和 17 的二进制形式:') a,b = 13,17 print ( ...
- numpy数组运算
一.四则运算 (以此为例) 1.加法 2.减法 3.乘法 4.除法 5.幂运算 二.比较运算 (以此为例) 1.< > 2.>= <= 3.== != ...
- Numpy 基础运算2
# -*- encoding:utf-8 -*- # Copyright (c) 2015 Shiye Inc. # All rights reserved. # # Author: ldq < ...
- Numpy 基础运算1
# -*- encoding:utf-8 -*- # Copyright (c) 2015 Shiye Inc. # All rights reserved. # # Author: ldq < ...
随机推荐
- 日期相关类data,simpledataformat类
(1) (2)
- 用数组实现 最简 hash线性探测
package arr; import java.util.Random; /** 模拟线性寻址式hash函数 模拟将1000大小包含50个数字的数组,存入大小为100的数组内(为了方便判断,我们将0 ...
- CentOS安装MySQL的步骤
1.下载 Mysql yum包 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 下载到本地再上传到服务器,或者使用wget 直接下载 w ...
- 远程服务器返回错误: 404错误、远程服务器返回错误:500错误、 HttpWebResponse远程服务器返回错误:(404、500) 错误。
现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.Use ...
- LVS DR实验!
=========================================================================== 操作图 设备:两台节点模拟机,一台调度机 调度机 ...
- 简单的单元测试unittest实例
unittest是Python中自带的一个单元测试模块,常常用它来做单元测试,它里面封装了用例的初始化操作和执行,以及返回结果的校验等操作. 在学习unittest框架之前需要先了解几个知识点: Te ...
- 《Web安全攻防 渗透测试实战指南》 学习笔记(一)
Web安全攻防 渗透测试实战指南 学习笔记 (一) 第一章 信息收集 在信息收集中,最重要是收集服务器的配置信息和网站敏感信息(域名及子域名信息目标网站系统.CMS指纹.目标网站真实I ...
- Navicat for MySQL怎么往表中填数据
只有往表中更新数据,数据库才会起到真正的作用. 工具/原料 仔细阅读 方法/步骤 1.打开数据库,首先连接localhost,如图所示. 2.连接成功后,右侧便会显示已经建成的表,找到要修改的表, ...
- spring使用context:property-placeholder载不进属性问题
环境:spring3.1.1+mybatis3.2.8+mybatis-spring1.2.3 今天整合了SpringMVC + MyBatis,发现了一个问题,在这里做个记录,各位如果遇到相同的问题 ...
- 「JSOI2011」任务调度
「JSOI2011」任务调度 传送门 一开始还在想写平衡树,看到 \(\text{TRANS}\) 操作后就晓得要用可并堆了. 这题好像就是个可并堆的板子题??? ADD 直接往对应的对里面加元素 D ...