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. 【C语言】(数组方式)输出一组成绩中的最高分与最低分

    两种不同方式获取最大值与最小值 代码1: #include <stdio.h> int main() { ], sum = , max, min; int i; printf(" ...

  2. CSS-禁止文本被选中

    pc端: .not-select{ -moz-user-select:none; /*火狐*/ -webkit-user-select:none; /*webkit浏览器*/ -ms-user-sel ...

  3. 【笔记3-用户模块】从0开始 独立完成企业级Java电商网站开发(服务端)

    数据表结构设计 关系设计 为什么不用外键? 分库分表有外键会非常麻烦,清洗数据也很麻烦.数据库内置触发器也不适合采用. 查业务问题的后悔药--时间戳 create_time 数据创建时间 update ...

  4. 【Go语言系列】第三方框架和库——GIN:快速入门

    要求要安装Gin软件包,需要:1.安装Go(需要1.11+版本)2.设置Go工作区 安装1.下载并安装 gin: $ go get -u github.com/gin-gonic/gin 2.将 gi ...

  5. WinForm开发(3)——使用vs2017打包winform安装程序的过程

    一.安装打包插件 注:安装好重启vs2017 ​ ​ 二.打包过程 ​ ​ 添加文件入口 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​

  6. 引入C/C++动态库

    [DllImport("SocketAPI.dll", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = t ...

  7. vue下canvas绘制矩形

    起因:根据项目需求本人写了一个绘制矩形的组件.功能:在图片中绘制矩形,根据图片大小进行自适应展示,获取图片矩形坐标.思路:首先定义一个固定大小的DIV,DIV标签中有监测鼠标变化的四个事件moused ...

  8. Update(Stage4):scala补充知识

    1.惰性加载: 在企业的大数据开发中,有时候会编写非常复杂的SQL语句,这些SQL语句可能有几百行甚至上千行.这些SQL语句,如果直接加载到JVM中,会有很大的内存开销.如何解决? 当有一些变量保存的 ...

  9. 1. Elasticsearch startup on local

    Download: https://www.elastic.co/downloads/elasticsearch 2. Setting: 1. [elasticsearch]\config\elast ...

  10. 「CQOI2016」不同的最小割

    「CQOI2016」不同的最小割 传送门 建出最小割树,把每一个点对的最小割抠出来 \(\text{unique}\) 一下就好了. 参考代码: #include <algorithm> ...