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

00000000 00000000 00000000 0000010
5
~5 11111111 11111111 11111111 11111010 -6

Numpy 为运算的更多相关文章

  1. NumPy 位运算

    NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...

  2. NumPy算数运算

    NumPy - 算数运算 用于执行算术运算(如add(),subtract(),multiply()和divide())的输入数组必须具有相同的形状或符合数组广播规则. 示例 import numpy ...

  3. 10、numpy——位运算

    NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...

  4. Lesson11——NumPy 位运算

    NumPy 教程目录 Lesson11--NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitw ...

  5. Numpy 基础运算

    numpy的几种运算 1.一维矩阵运算 >>> import numpy as np >>> a=np.array([10,20,30,40]) # array([ ...

  6. 吴裕雄--天生自然Numpy库学习笔记:NumPy 位运算

    bitwise_and() 函数对数组中整数的二进制形式执行位与运算. import numpy as np print ('13 和 17 的二进制形式:') a,b = 13,17 print ( ...

  7. numpy数组运算

    一.四则运算   (以此为例) 1.加法 2.减法 3.乘法 4.除法 5.幂运算 二.比较运算   (以此为例) 1.<   > 2.>=    <= 3.==    != ...

  8. Numpy 基础运算2

    # -*- encoding:utf-8 -*- # Copyright (c) 2015 Shiye Inc. # All rights reserved. # # Author: ldq < ...

  9. Numpy 基础运算1

    # -*- encoding:utf-8 -*- # Copyright (c) 2015 Shiye Inc. # All rights reserved. # # Author: ldq < ...

随机推荐

  1. 日期相关类data,simpledataformat类

    (1) (2)

  2. 用数组实现 最简 hash线性探测

    package arr; import java.util.Random; /** 模拟线性寻址式hash函数 模拟将1000大小包含50个数字的数组,存入大小为100的数组内(为了方便判断,我们将0 ...

  3. CentOS安装MySQL的步骤

    1.下载 Mysql yum包 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 下载到本地再上传到服务器,或者使用wget 直接下载 w ...

  4. 远程服务器返回错误: 404错误、远程服务器返回错误:500错误、 HttpWebResponse远程服务器返回错误:(404、500) 错误。

    现象 我们编码实现请求一个页面时,请求的代码类似如下代码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);req.Use ...

  5. LVS DR实验!

    =========================================================================== 操作图 设备:两台节点模拟机,一台调度机 调度机 ...

  6. 简单的单元测试unittest实例

    unittest是Python中自带的一个单元测试模块,常常用它来做单元测试,它里面封装了用例的初始化操作和执行,以及返回结果的校验等操作. 在学习unittest框架之前需要先了解几个知识点: Te ...

  7. 《Web安全攻防 渗透测试实战指南》 学习笔记(一)

    Web安全攻防 渗透测试实战指南   学习笔记 (一) 第一章   信息收集     在信息收集中,最重要是收集服务器的配置信息和网站敏感信息(域名及子域名信息目标网站系统.CMS指纹.目标网站真实I ...

  8. Navicat for MySQL怎么往表中填数据

    只有往表中更新数据,数据库才会起到真正的作用. 工具/原料 仔细阅读 方法/步骤 1.打开数据库,首先连接localhost,如图所示. ​ 2.连接成功后,右侧便会显示已经建成的表,找到要修改的表, ...

  9. spring使用context:property-placeholder载不进属性问题

    环境:spring3.1.1+mybatis3.2.8+mybatis-spring1.2.3 今天整合了SpringMVC + MyBatis,发现了一个问题,在这里做个记录,各位如果遇到相同的问题 ...

  10. 「JSOI2011」任务调度

    「JSOI2011」任务调度 传送门 一开始还在想写平衡树,看到 \(\text{TRANS}\) 操作后就晓得要用可并堆了. 这题好像就是个可并堆的板子题??? ADD 直接往对应的对里面加元素 D ...