Sobes.tech
Junior

¿Cuántos bytes ocupa almacenar un número?

sobes.tech AI

Respuesta de la IA

El tamaño de almacenamiento de un número en Go depende de su tipo.

Tipo de dato Tamaño (bytes) Rango de valores
int Depende de la arquitectura (32 o 64 bits) Depende de la arquitectura
uint Depende de la arquitectura (32 o 64 bits) Depende de la arquitectura
int8 1 -128 a 127
uint8 1 0 a 255
int16 2 -32768 a 32767
uint16 2 0 a 65535
int32 4 -2147483648 a 2147483647
uint32 4 0 a 4294967295
int64 8 -9223372036854775808 a 9223372036854775807
uint64 8 0 a 18446744073709551615
float32 4 Aproximadamente ±3.4e38
float64 8 Aproximadamente ±1.8e308
complex64 8 Dos valores float32 (parte real e imaginaria)
complex128 16 Dos valores float64 (parte real e imaginaria)
byte 1 Sinónimo de uint8
rune 4 Sinónimo de int32 (punto de código Unicode)

Ejemplo de cómo determinar el tamaño de un tipo en una plataforma específica:

import (
	"fmt"
	"unsafe"
)

func main() {
	// El tamaño de int y uint depende de la arquitectura del procesador
	fmt.Printf("Tamaño de int: %d bytes\n", unsafe.Sizeof(int(0)))
	fmt.Printf("Tamaño de uint: %d bytes\n", unsafe.Sizeof(uint(0)))

	// Los tamaños de tipos fijos son constantes
	fmt.Printf("Tamaño de int8: %d bytes\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("Tamaño de float64: %d bytes\n", unsafe.Sizeof(float64(0)))
}