Sobes.tech
Junior

Combien d'octets faut-il pour stocker un nombre?

sobes.tech IA

Réponse de l'IA

La taille de stockage d'un nombre en Go dépend de son type.

Type de données Taille (octets) Plage de valeurs
int Dépend de l'architecture (32 ou 64 bits) Dépend de l'architecture
uint Dépend de l'architecture (32 ou 64 bits) Dépend de l'architecture
int8 1 -128 à 127
uint8 1 0 à 255
int16 2 -32768 à 32767
uint16 2 0 à 65535
int32 4 -2147483648 à 2147483647
uint32 4 0 à 4294967295
int64 8 -9223372036854775808 à 9223372036854775807
uint64 8 0 à 18446744073709551615
float32 4 Environ ±3.4e38
float64 8 Environ ±1.8e308
complex64 8 Deux valeurs float32 (partie réelle et imaginaire)
complex128 16 Deux valeurs float64 (partie réelle et imaginaire)
byte 1 Synonyme de uint8
rune 4 Synonyme de int32 (point de code Unicode)

Exemple pour déterminer la taille d'un type sur une plateforme spécifique:

import (
	"fmt"
	"unsafe"
)

func main() {
	// La taille de int et uint dépend de l'architecture du processeur
	fmt.Printf("Taille de int: %d octets\n", unsafe.Sizeof(int(0)))
	fmt.Printf("Taille de uint: %d octets\n", unsafe.Sizeof(uint(0)))

	// La taille des types fixes est constante
	fmt.Printf("Taille de int8: %d octets\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("Taille de float64: %d octets\n", unsafe.Sizeof(float64(0)))
}