Función de desplazamiento a la derecha de NumPy

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos sobre la función right_shift() en la biblioteca NumPy. Esta función se utiliza para realizar la operación de desplazamiento a la derecha en un objeto similar a una matriz. La función right_shift() desplaza principalmente los bits en la representación binaria de un operando hacia la derecha, solo por las posiciones especificadas y agrega un número igual de 0s desde la izquierda. La representación interna de los números es en formato binario; por lo tanto, la operación de desplazamiento a la derecha es equivalente a dividir un número por 2^x, donde x es el número de bits a desplazar. Cubriremos la sintaxis de la función right_shift(), sus parámetros y los valores devueltos por esta función, junto con ejemplos de código.

Consejos de la MV

Después de que la máquina virtual (VM) haya terminado de iniciar, haz clic en la esquina superior izquierda para cambiar a la pestaña Notebook y acceder a Jupyter Notebook para practicar.

A veces, es posible que debas esperar unos segundos para que Jupyter Notebook termine de cargar. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si encuentras problemas durante el aprendizaje, no dudes en preguntarle a Labby. Proporciona comentarios después de la sesión y resolveremos rápidamente el problema para ti.

Importación de la biblioteca NumPy

import numpy as np

NumPy es una biblioteca de Python que significa 'Python Numérico'. Se utiliza para realizar operaciones en matrices grandes y complejas.

Comprendiendo la función right_shift()

La función right_shift() se utiliza para realizar la operación de desplazamiento a la derecha en un objeto similar a una matriz. Los parámetros de la función son los siguientes:

Sintaxis

numpy.right_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
Parámetro Descripción
x1 representa el valor de entrada y está en forma de matriz.
x2 indica el número de bits a eliminar a la derecha de x1. Si x1.shape!= x2.shape, entonces deben ser transmisibles (broadcastable) a una forma común, y esa forma se convierte en la forma de la salida.
out indica una ubicación en la que se almacena el resultado. Si se proporciona este parámetro, debe tener una forma a la que se transmitan las entradas. Si este parámetro no se proporciona o es None, se devuelve una matriz recién asignada.
where indica una condición que se transmite sobre la entrada. En aquellas ubicaciones donde la condición es True, la matriz de salida se establecerá en el resultado de la función universal (ufunc), de lo contrario, la matriz de salida conservará su valor original.

Devuelve:

Esta función devolverá x1, con sus bits desplazados x2 veces hacia la derecha. Si tanto x1 como x2 son escalares, el valor devuelto es un escalar.

Ejemplo 1

Ilustraremos el uso de la función right_shift() con un valor de entrada escalar.

input_num = 40
bit_shift = 2

print("The input number is: ")
print(input_num)
print("The number of bit shift: ")
print(bit_shift)

output = np.right_shift(input_num, bit_shift)
print("After shifting 2 bits to the right: ")
print(output)

Salida:

The input number is:
40
The number of bit shift:
2
After shifting 2 bits to the right:
10

Ejemplo 2

Ahora aplicaremos la función right_shift() a una matriz de entrada.

input_arr = [8, 28, 55]
bit_shift = [3, 4, 2]

print("The input array is: ")
print(input_arr)
print("The number of bit shift: ")
print(bit_shift)

output = np.right_shift(input_arr, bit_shift)
print("After shifting bits to the right, the output array is: ")
print(output)

Salida:

The input array is:
[8, 28, 55]
The number of bit shift :
[3, 4, 2]
After shifting bits to the right, the output array is:
[ 1 1 13]

Resumen

En este laboratorio, aprendimos sobre la función right_shift() de la biblioteca NumPy, que se utiliza para realizar la operación de desplazamiento a la derecha en un objeto similar a una matriz. Cubrimos su sintaxis básica, parámetros y los valores devueltos por esta función, junto con ejemplos de código. La función right_shift() es una herramienta esencial para manipular las representaciones binarias de números y puede ser especialmente útil para generar resultados computacionales precisos en modelos numéricos complejos.