- NumPy 教程
- NumPy - 首页
- 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 - 数组步幅
- NumPy - 数组元素大小
- NumPy - 广播
- NumPy - 算术运算
- NumPy - 数组加法
- NumPy - 数组减法
- NumPy - 数组乘法
- NumPy - 数组除法
- NumPy 高级数组运算
- NumPy - 交换数组轴
- NumPy - 字节交换
- NumPy - 复制和视图
- NumPy - 元素级的数组比较
- NumPy - 数组过滤
- NumPy - 数组连接
- NumPy - 排序、搜索和计数函数
- NumPy - 数组搜索
- NumPy - 数组的并集
- NumPy - 查找唯一行
- NumPy - 创建日期时间数组
- NumPy - 二元运算符
- NumPy - 字符串函数
- NumPy - 数学函数
- NumPy - 统计函数
- NumPy - 矩阵库
- NumPy - 线性代数
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 绘制直方图
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高级操作
- NumPy - 数组排序
- NumPy - 沿轴排序
- NumPy - 使用花式索引排序
- NumPy - 结构化数组
- NumPy - 创建结构化数组
- NumPy - 操作结构化数组
- NumPy - 字段访问
- NumPy - 记录数组
- NumPy - 数组加载
- NumPy - 数组保存
- NumPy - 向数组追加值
- NumPy - 交换数组列
- NumPy - 向数组插入轴
- NumPy 处理缺失数据
- NumPy - 处理缺失数据
- NumPy - 识别缺失值
- NumPy - 删除缺失数据
- NumPy - 缺失数据插补
- NumPy 性能优化
- NumPy - 使用数组进行性能优化
- NumPy - 使用数组进行矢量化
- NumPy - 数组的内存布局
- NumPy 线性代数
- NumPy - 线性代数
- NumPy - 矩阵库
- NumPy - 矩阵加法
- NumPy - 矩阵减法
- NumPy - 矩阵乘法
- NumPy - 元素级的矩阵运算
- NumPy - 点积
- NumPy - 矩阵求逆
- NumPy - 行列式计算
- NumPy - 特征值
- NumPy - 特征向量
- NumPy - 奇异值分解
- NumPy - 求解线性方程组
- NumPy - 矩阵范数
- NumPy 元素级的矩阵运算
- NumPy - 求和
- NumPy - 求平均值
- NumPy - 求中位数
- NumPy - 求最小值
- NumPy - 求最大值
- NumPy 集合运算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 并集
- NumPy - 差集
- NumPy 有用资源
- NumPy 编译器
- NumPy - 快速指南
- NumPy - 有用资源
- NumPy - 讨论
NumPy 按位取反() 函数
NumPy 的bitwise_invert()函数用于执行按位非运算,该运算会反转输入数组中每个元素的所有位。
此函数会翻转整数二进制表示中的每一位,从而得到按位补码。
对于无符号整数,它实际上计算的是位宽的最大值减去当前值,而对于有符号整数,它使用二进制补码表示。
此函数处理各种整数类型的输入,并返回一个具有相同形状和类型的数组,其中包含反转的位。它等效于bitwise_not()。
语法
以下是 NumPy bitwise_invert() 函数的语法:
numpy.bitwise_invert(x)
参数
NumPy bitwise_invert() 函数接受一个参数,即x,它接受要执行按位反转的输入数组或值。输入应为整数类型数组,例如 int8、int16、int32、int64、uint8、uint16、uint32、uint64 等;
返回值
此函数返回一个数组,其中对输入数组的每个元素应用了按位反转。输出数组与输入数组具有相同的形状和类型。
示例 1
以下是 NumPy bitwise_invert() 函数的基本示例,它清晰地展示了按位反转如何在简单的整数数组上操作:
import numpy as np # Create a basic integer array x = np.array([0, 1, 2, 3], dtype=np.uint8) # Apply bitwise NOT operation result = np.bitwise_invert(x) print(result)
以下是将bitwise_invert() 函数应用于数组后的输出:
[255 254 253 252]
示例 2
在使用 NumPy 中不同数据类型的整数数组时,按位运算(包括反转)的行为可能会因使用的整数类型而异。这是一个例子:
import numpy as np
# Define arrays with different data types
array_uint8 = np.array([0, 1, 2, 255], dtype=np.uint8)
array_uint16 = np.array([0, 1, 2, 65535], dtype=np.uint16)
array_int8 = np.array([0, 1, -1, -2], dtype=np.int8)
array_int16 = np.array([0, 1, -1, -2], dtype=np.int16)
# Perform bitwise inversion
result_uint8 = np.bitwise_invert(array_uint8)
result_uint16 = np.bitwise_invert(array_uint16)
result_int8 = np.bitwise_invert(array_int8)
result_int16 = np.bitwise_invert(array_int16)
print('Original uint8 array:', array_uint8)
print('Inverted uint8 array:', result_uint8)
print('\nOriginal uint16 array:', array_uint16)
print('Inverted uint16 array:', result_uint16)
print('\nOriginal int8 array:', array_int8)
print('Inverted int8 array:', result_int8)
print('\nOriginal int16 array:', array_int16)
print('Inverted int16 array:', result_int16)
以下是上述示例的输出:
Original uint8 array: [ 0 1 2 255] Inverted uint8 array: [255 254 253 0] Original uint16 array: [ 0 1 2 65535] Inverted uint16 array: [65535 65534 65533 0] Original int8 array: [ 0 1 -1 -2] Inverted int8 array: [-1 -2 0 1] Original int16 array: [ 0 1 -1 -2] Inverted int16 array: [-1 -2 0 1]
注意:在某些版本中,bitwise_invert() 函数不起作用,在这种情况下,可以使用bitwise_not() 函数执行相同的操作。
numpy_binary_operators.htm
广告