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

La función bits.Sub64() 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 Sub64(a, b, borrow uint64) (diff, borrowOut uint64)

Parámetros: Esta función toma tres parámetros de tipo uint64, 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 uint64, 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:

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

Producción:

Diff: 6
BorrowOut : 0

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

// Golang program to illustrate bits.Sub64() Function 
package main 
     
import ( 
    "fmt"
    "math/bits"
) 
     
// Main function 
func main() { 
     
    // Finding diff and borrowOut 
    // of the specified numbers 
    // Using Sub64() function 
    
    var a, b, borrow uint64 = 12, 87, 7 
    Diff, borrowOut := bits.Sub64(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: 12
Number 2: 87
Borrow : 7
Diff: 18446744073709551540
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 *