Maison >développement back-end >Golang >division entière golang

division entière golang

WBOY
WBOYoriginal
2023-05-19 10:15:371340parcourir

Golang est un langage de programmation efficace et moderne avec d'excellentes fonctionnalités de concurrence et des types de données intégrés, y compris des types entiers. Integer est un type de données de base qui représente un entier sans décimales.

En Golang, la division entière est une opération arithmétique courante, mais lors de l'utilisation, vous rencontrez parfois des résultats étranges. Cet article se concentrera sur les règles de fonctionnement et les problèmes courants de division entière dans Golang, et proposera quelques solutions.

1. Types entiers Golang

Les types entiers dans Golang incluent int, int8, int16, int32, int64 et les entiers non signés correspondants uint, uint8, uint16, uint32, uint64 . Parmi eux, int et uint occupent 4 octets (32 bits) dans les systèmes d'exploitation 32 bits et 8 octets (64 bits) dans les systèmes d'exploitation 64 bits. Lorsque vous avez besoin de connaître clairement la taille d'un entier, il est recommandé d'utiliser int32, int64, uint32, uint64 et d'autres types.

2. Règles d'opération de division entière

Dans Golang, le symbole d'opération de division entière est "/", et ses règles de fonctionnement sont les suivantes :

#🎜🎜 #1. Si les deux opérandes sont des entiers, le résultat de l'opération de division est le quotient entier et la partie décimale est omise.

Par exemple :

a := 5
b := 2
c := a / b

La valeur de c à ce moment est 2, car 5/2 est égal à 2,5 et la partie décimale est omise.

2. Si les deux opérandes sont de type virgule flottante, le résultat de l'opération de division est le quotient à virgule flottante, en conservant la partie décimale.

Par exemple :

a := 5.0
b := 2.0
c := a / b

La valeur de c à ce moment est de 2,5, car 5,0/2,0 est égal à 2,5, et la partie décimale est conservée.

3. Lorsqu'un opérande est un entier et l'autre est un nombre à virgule flottante, Golang convertira l'entier en un nombre à virgule flottante pour l'opération et conservera la partie décimale dans le résultat final.

Par exemple :

a := 5
b := 2.0
c := a / b

La valeur de c à ce moment est de 2,5, car 5 sera converti en 5,0, puis divisé par 2,0 pour obtenir 2,5.

3. Les questions fréquemment posées sur la division entière dans Golang

1. La division entière de nombres à virgule flottante entraînera des résultats incorrects

En raison d'un nombre entier. division La partie décimale est omise, donc lors de l'exécution d'opérations de division entière et de virgule flottante, des résultats incorrects seront obtenus. Par exemple :

a := 5
b := 2.0
c := a / b

Dans le code ci-dessus, la valeur de c est 2, ce qui est différent du 2,5 auquel nous nous attendions. La façon de résoudre ce problème est de convertir l'entier en nombre à virgule flottante, puis d'effectuer l'opération :

a := 5
b := 2.0
c := float64(a) / b

2 La division de l'entier par 0 provoquera une erreur d'exécution

#🎜🎜. #Dans Golang, la division entière par 0 provoquera une erreur d'exécution (erreur d'exécution), par exemple :

a := 5
b := 0
c := a / b

Le code ci-dessus générera une erreur "erreur d'exécution : division entière par zéro".

Afin d'éviter cette situation, vous pouvez déterminer si le diviseur est 0 avant d'effectuer l'opération de division :

a := 5
b := 0
if b == 0 {
    // 处理除数为0的情况
} else {
    c := a / b
}

Ou utilisez un type de nombre à virgule flottante, car diviser le flottant le type de numéro de point par 0 ne provoquera pas une erreur d'exécution afin que le code s'exécute correctement.

3. La division entière sera arrondie à 0

La division entière dans Golang sera arrondie à 0, ce qui signifie qu'elle ne conserve que la partie entière et rejette la partie décimale, sans arrondi ni arrondir.

Par exemple :

a := 5
b := 3
c := a / b

Dans le code ci-dessus, la valeur de c est 1, et non 2, car la division entière arrondira vers 0.

4. Résumé

La division entière est une opération courante, et elle a également ses caractéristiques uniques à Golang. Nous devons prêter attention aux règles de fonctionnement et aux problèmes courants pouvant survenir dans une division entière, et prendre les solutions correspondantes.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn