Función bits.Sub32() en Golang con ejemplos

La función bits.Sub32() en Golang se usa para encontrar la diferencia de a, b y préstamo, es decir, diff = a – b – préstamo. Aquí el préstamo debe ser 0 o 1; de lo contrario, el comportamiento no está definido. Para acceder a esta función, es necesario importar el paquete matemático/bits en el programa. El valor de retorno de la salida de préstamo será siempre 0 o 1 en cualquier caso.
Sintaxis: 
 

func Sub32(a, b, borrow uint32) (diff, borrowOut uint32)

Parámetros: Esta función toma tres parámetros de tipo uint32, es decir, a, b y préstamo. El valor del parámetro de préstamo es 1 o 0.
Valor devuelto: esta función devuelve dos valores de tipo uint32, es decir, diff y préstamo. Aquí diff contiene el resultado de a – b – préstamo y préstamo de salida es 1 o 0.
Ejemplo 1:
 

C

// Golang program to illustrate bits.Sub32() Function
package main
 
import (
    "fmt"
    "math/bits"
)
 
// Main function
func main() {
 
    // Finding diff and borrowOut
    // of the specified numbers
    // Using Sub32() function
    nvalue_1, borrowOut := bits.Sub32(13, 8, 1)
    fmt.Println("Diff:", nvalue_1)
    fmt.Println("BorrowOut :", borrowOut)
 
}

Producción: 
 

Diff: 4
BorrowOut : 0

Ejemplo 2: aquí, puede ver que el resultado no es el esperado, ya que hemos tomado el valor de préstamo como 3. Por lo tanto, si tomamos una entrada de préstamo distinta de 1 y 0, el comportamiento será indefinido.
 

C

// Golang program to illustrate bits.Sub32() Function
package main
 
import (
    "fmt"
    "math/bits"
)
 
// Main function
func main() {
 
    // Finding diff and borrowOut
    // of the specified numbers
    // Using Sub32() function
 
    var a, b, borrow uint32 = 4, 15, 3
    Diff, borrowOut := bits.Sub32(a, b, borrow)
    fmt.Println("Number 1:", a)
    fmt.Println("Number 2:", b)
    fmt.Println("Borrow :", borrow)
    fmt.Println("Diff:", Diff)
    fmt.Println("BorrowOut :", borrowOut)
 
}

Producción:
 

Number 1: 4
Number 2: 15
Borrow : 3
Diff: 4294967282
BorrowOut : 1

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *