python中shift函数_Python numpy.left_shift函数方法的使用

numpy.left_shift

numpy.left_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) =

将整数的位向左移动。

通过在x1的右边附加x2 0,将位向左移动。 由于数字的内部表示形式为二进制格式,因此此操作等效于将x1乘以2 ** x2。参数 :x1 :integer类型的array_like

输入值。

x2 :integer类型的array_like

要附加到x1的零数。 必须为非负数。

如果x1.shape!= x2.shape,

则必须将它们广播为通用形状(即输出的形状)。

out :ndarray, None, 或 ndarray的tuple 和 None, 可选

结果存储的位置。 如果提供,

它必须具有输入传递到的shape。

如果未提供或没有,则返回一个新分配的数组。

元组(只能作为关键字参数)的长度必须等于输出的数量。

where :array_like, 可选

此条件通过输入广播。 在条件为True的位置,

将out数组设置为ufunc结果。 在其他地方,

out数组将保留其原始值。

请注意,如果通过默认的out = None创建了未初始化的输出数组,

则条件为False的数组中的位置将保持未初始化状态。

**kwargs

有关其他仅关键字的参数,请参见ufunc文档。

返回值 :out :integer类型的array

返回x1,其位向左移动x2次。

如果x1和x2均为标量,则为标量。

例子>>> np.binary_repr(5)

'101'

>>> np.left_shift(5, 2)

20

>>> np.binary_repr(20)

'10100'>>> np.left_shift(5, [1,2,3])

array([10, 20, 40])

注意,第二个参数的dtype可能会改变结果的dtype,在某些情况下可能会导致意外结果(参见强制转换规则):>>> a = np.left_shift(np.uint8(255), 1) # Expect 254

>>> print(a, type(a)) # Unexpected result due to upcasting

510

>>> b = np.left_shift(np.uint8(255), np.uint8(1))

>>> print(b, type(b))

254

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值