Ce n'0LL ou 0x0UL veux dire?
Je suis la lecture de la Go de Google tutoriel et l'a vu dans la section constantes:
Il n'existe pas de constantes comme 0LL ou 0x0UL
J'ai essayé de faire une recherche Google, mais tout ce qui vient jusqu'sont les cas où l'utilisation de ces constantes, mais aucune explication sur ce qu'ils signifient. 0x est censé commencer une hexadécimal littérale, mais ce ne sont pas des personnages qui sont possibles dans un nombre hexadécimal.
"J'ai essayé de faire une recherche Google"... essayez le terme de recherche
J'ai toujours pensé que des personnes comme "littéraux" et constantes les variables déclarées comme des constantes.
Juste assez, mais j'imagine que les résultats pour
integer constants c++ LL
. 🙂J'ai toujours pensé que des personnes comme "littéraux" et constantes les variables déclarées comme des constantes.
Juste assez, mais j'imagine que les résultats pour
integer literals c++ LL
sont similaires... 🙂OriginalL'auteur Bjorn Tipling | 2011-08-12
Vous devez vous connecter pour publier un commentaire.
Ces sont des constantes en C et C++. Le suffixe
LL
signifie que la constante est de typelong long
, etUL
signifieunsigned long
.En général, chaque
L
oul
représente unlong
et chaqueU
ouu
représente ununsigned
. Ainsi, par exemple,signifie que la constante 1 de type
unsigned long long
.Cela s'applique également à des nombres à virgule flottante:
et les chaînes de caractères et des caractères, mais ils sont préfixes:
En C et C++ les constantes entières sont évaluées à l'aide de leur type d'origine, ce qui peut provoquer des bugs en raison de dépassement d'entier:
Dans Google Aller, tous les entiers sont évaluées comme des grands entiers (pas de troncature),
et il n'y a pas de "d'habitude arithmétique de promotion de la"
donc les suffixes ne sont pas nécessaires.
LL
suffixe). Est-ce un type signé (Clang insiste sur le fait qu'il est un type non signé)?OriginalL'auteur kennytm
Il y a plusieurs types de base les types numériques, et les lettres de les différencier:
OriginalL'auteur Tim
0LL
est un long zéro.0x0UL
est un unsigned long zéro, exprimé à l'aide de la notation hexadécimale.0x0UL
==0UL
.OriginalL'auteur wallyk
+C-comme les langues, ces suffixes vous dire le type exact. Donc, par exemple. 9 est une
int
variable, mais0LL
est unlong long
OriginalL'auteur Charlie Martin
LL
désigne un littéral comme unlong long
etUL
désigne un commeunsigned long
et0x0
est hexadécimal0
. Donc0LL
et0x0UL
sont un nombre équivalent mais différents types de données; le premier est unlong long
et le dernier est ununsigned long
.Il ya beaucoup de ces spécificateurs:
1D
en C ou C++.Oh, n'est-ce pas? Ne
x.x
servir à cette fin? Merci pour l'info même si, je suppose que D est double.Oui, vous avez raison .
OriginalL'auteur Seth Carnegie