numpy 矩阵的按位运算

  备案动态     |      2023-09-07
numpy 矩阵的按位运算

参考链接:Numpy 字符串运算

http://www.runoob.com/numpy/numpy-binary-operators.html

菜鸟教程——学的不仅是技术,更是梦想!

首页HTML CSS JAVASCRIPT JQUERY BOOTSTRAP SQL MYSQL PHP PYTHON2 PYTHON3 C C++ C# JAVA 本地书签我的圈子

NumPy 教程

NumPy 教程NumPy 安装NumPy Ndarray 对象NumPy 数据类型NumPy 数组属性NumPy 创建数组NumPy 从现有数组创建数组NumPy 从数值范围创建数组NumPy 切片和索引NumPy 高级索引NumPy 广播NumPy 迭代数组NumPy 数组操作NumPy 位算术NumPy 字符串函数NumPy数学函数NumPy 算术函数NumPy 统计函数NumPy 排序、条件刷选函数NumPy 字节交换NumPy 复制和查看NumPy 矩阵库(矩阵) NumPy 线性代数NumPy IONumPy Matplotlib

Numpy 数组运算

NumPy 字符串函数

NumPy 按位运算

以“bitwise_”开头的NumPy 函数是按位函数。

NumPy 按位运算包括以下函数:

函数说明bitwise_and 对数组元素进行按位与运算bitwise_or 对数组元素进行按位或运算invert 按位取反left_shift 将二进制表示位向左移动right_shift 将二进制表示位向右移动

注意:“”、“~”、“|”等运算符'^'也可以用于计算。

按位与

bitwise_and() 函数对数组中整数的二进制表示形式执行按位AND 运算。

例子

import numpy as np print ('13 和17 的二进制形式:') a,b=13,17 print (bin(a), bin(b)) print ('\n') print ('13 的位数和17 with:') print (np.bitwise_and(13, 17))

输出是:

13和17的二进制形式:

0b1101 0b10001

13 和17 的按位与:

1

上述例子可以用下表来说明:

1101AND 10001 运算结果00001

按位与运算规则如下:

ABAND111100010000

按位或

bitwise_or() 函数对数组中的二进制形式的整数执行按位AND 运算。

例子

import numpy as np a,b=13,17 print ('13 和17 的二进制形式:') print (bin(a), bin(b)) print ('13 和17 的按位或:') print (np .bitwise_or(13, 17))

输出是:

13和17的二进制形式:

0b1101 0b10001

13 和17 的按位或:

29

上述例子可以用下表来说明:

1101OR 10001 运算结果11101

位或运算的运算规则如下:

ABOR111101011000

倒置

invert()函数对数组中的整数进行位反转操作,即0变成1,1变成0。

对于有符号整数,取二进制数的补码,然后+1。二进制数,正数最高位为0,负数最高位为1。

看~1的计算步骤:

表达式二进制值(2 的补码) 十进制值500000000 00000000 00000000 00000105~511111111 11111111 11111111 11111010-6

将1(此处:原码)转为二进制=00000001按位取反=11111110发现符号位(即最高位)为1(代表负数),将除符号位外的其他数取反=10000001并加上最后一位1 的补码=10000010 转换回十进制=-2

例子

import numpy as np print ('13 的位反转,其中ndarray 的dtype 为uint8:') print (np.invert(np.array([13], dtype=np.uint8))) print ('\n' ) #比较13 和242 的二进制表示,我们发现一个位反转print ('13 的二进制表示:') print (np.binary_repr(13, width=8)) print ('\n') print (' 13 的二进制表示242:')打印(np.binary_repr(242,宽度=8))

输出是:

13 的位反转,其中ndarray 的dtype 为uint8:

【242】

13的二进制表示:

00001101

242的二进制表示:

11110010

左移

left_shift() 函数将数组元素的二进制形式向左移动到指定位置,并在右侧附加相同数量的0。

例子

import numpy as np print ('10 左移两位:') print (np.left_shift(10,2)) print ('\n') print ('10 的二进制表示:') print (np.binary_repr( 10 , width=8)) print ('\n') print ('40 的二进制表示:') print (np.binary_repr(40, width=8)) # '00001010' 中的两位左移,并且两个右侧添加0。

输出是:

Shift 10 左移两位:

40

10的二进制表示:

00001010

40的二进制表示:

00101000

右移

right_shift() 函数将数组元素的二进制形式右移到指定位置,并在左侧添加相同数量的0。

例子

import numpy as np print ('40 向右移动两位:') print (np.right_shift(40,2)) print ('\n') print ('40 的二进制表示:') print (np. binary_repr( 40, width=8)) print ('\n') print ('10 的二进制表示形式:') print (np.binary_repr(10, width=8)) # '00001010' 中的两位向右移动,并且左侧添加两个0。

输出是:

将40 向右平移两位:

10

40的二进制表示:

00101000

10的二进制表示:

00001010

Numpy 数组运算

NumPy 字符串函数

写笔记.

分享笔记

昵称(必填)电子邮件(必填)参考地址

分类导航

HTML/CSSJavaScript服务器数据库移动XML教程ASP.NETWeb服务开发工具网站建设

广告

反馈/建议反馈/建议

网上例子

HTML示例

CSS示例

JavaScript示例

Ajax示例

jQuery 示例

XML示例

Java实例

字符集工具

HTML字符集设置

HTML ASCII 字符集

HTML ISO-8859-1

HTML实体符号

HTML 颜色选择器

JSON 格式化程序

最新更新

Python实现秒表.

关于程序员鄙视外链

1.10 基数排序

1.9 桶排序

1.8 计数排序

1.7 堆排序

1.6 快速排序

站点信息

反馈

合作

免责声明

关于我们

文章存档

关注微信

版权所有 2013-2019 菜鸟教程runoob.com All Rights Reserved.备案号:闽ICP备15012807-1号