Puissances d'écriture de 10 de manière compacte
Dans le langage de programmation Go, l'exercice 3.13 met les programmeurs au défi d'écrire des déclarations constantes compactes pour Ko, Mo, jusqu'à à YB, représentant des puissances de 1000. Malgré les limites du mécanisme iota pour générer des puissances de 10, le texte suggère d'utiliser le plus compact approche possible.
Litéraux à virgule flottante
Une solution peu encombrante consiste à utiliser des littéraux à virgule flottante avec des parties exposants. Par exemple, écrire 1e3 prend moins de place que 1 000. La combinaison de tous les identifiants en une seule spécification constante réduit encore le nombre de signes égaux. Voici une déclaration concise (67 caractères sans espaces) :
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
Des littéraux entiers utilisant KB comme multiplicateur
La création de constantes entières non typées nécessite d'écrire 1 000 pour KB. Pour obtenir les valeurs suivantes, l'identifiant précédent peut être multiplié par 1000. Cependant, il est également possible d'utiliser KB comme multiplicateur, car il représente 1000. La déclaration suivante comporte 77 caractères sans espaces :
const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
Utiliser une const supplémentaire pour la multiplication
L'introduction d'une const x supplémentaire à 1 caractère permet d'effectuer davantage gain de place en remplaçant *KB par x :
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 1000,x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
Rune Literal
L'utilisation d'un littéral runique avec un point de code de 1000 ("Ϩ") réduit l'espace requis par un personnage supplémentaire :
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 'Ϩ',x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
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!