参考链接: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号