Comment effectuer des calculs précis de division entière et de reste en langage Go
Lorsque nous effectuons des calculs de division entière et de reste en langage Go, nous devons faire attention à la perte de précision dans les opérations entières. Pour garantir des divisions et des restes précis, nous pouvons utiliser quelques astuces et fonctions.
Les opérations de division entière peuvent être mises en œuvre en utilisant la fonction Floor du package mathématique. Cette fonction peut renvoyer la valeur entière maximale qui n'est pas supérieure à l'argument donné. Par conséquent, nous pouvons obtenir le quotient entier exact en divisant d’abord par le diviseur, puis en arrondissant à l’aide de la fonction Floor.
Le calcul du reste peut être réalisé en effectuant d'abord une opération de division entière, puis en multipliant le quotient entier résultant par le diviseur, puis en soustrayant le dividende. Cela garantit que le calcul du reste est précis.
Regardons un exemple de code spécifique :
package main import ( "fmt" "math" ) func divideAndRemainder(dividend, divisor int) (quotient, remainder int) { quotient = int(math.Floor(float64(dividend) / float64(divisor)) remainder = dividend - quotient*divisor return quotient, remainder } func main() { dividend := 13 divisor := 5 quotient, remainder := divideAndRemainder(dividend, divisor) fmt.Printf("%d 除以 %d 的整数商为 %d,余数为 %d ", dividend, divisor, quotient, remainder) }
Dans le code ci-dessus, nous définissons une fonction divideAndRemainder
来实现精确的整除和余数计算。在main
Dans la fonction, nous testons le calcul du quotient entier et du reste de 13 divisé par 5, et générons le résultat.
Grâce aux exemples de code ci-dessus, nous pouvons implémenter des calculs précis de division entière et de reste dans le langage Go, évitant ainsi la perte de précision. J'espère que cet article vous sera utile, merci d'avoir lu !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!