Ne Lua utiliser des entiers 64 bits?
Ne Lua utiliser des entiers 64 bits? Comment puis-je l'utiliser?
OriginalL'auteur Aaron de Windt | 2010-06-23
Vous devez vous connecter pour publier un commentaire.
Ne Lua utiliser des entiers 64 bits? Comment puis-je l'utiliser?
OriginalL'auteur Aaron de Windt | 2010-06-23
Vous devez vous connecter pour publier un commentaire.
Le compiler vous-même. Lua utilise double-précision des nombres à virgule flottante par défaut. Cependant, cela peut être modifié dans la source (
luaconf.h
, recherchezLUA_NUMBER
).double
, mais peut être modifié dans les fichiers d'en-tête d'un autre type, commeint64_t
.Si vous modifiez le type de numéro dans
luaconf.h
, n'oubliez pas de modifier les macros apparentées en conséquence.Il est documenté à droite au-dessus de la macro, donc j'ai pensé qu'il serait assez facile à détecter.
Notez que cela aura des balayage des effets secondaires, puisque c'est le seul type de numéros. Par exemple,
math.sin
n'est pas nécessairement sensible à un type intégral pour LUA_NUMBER. Il y a un patch pour le Lua sources, connu sous le nom LNUM patch, ce qui peut atténuer ce en soutenant intégrante de type à côté d'un type à virgule flottante. Voir stackoverflow.com/questions/945731/...Il n'existe qu'un seul type numérique, et même avec le LNUM patch RBerteig mentionné qui ne change pas, à partir du programmeur point de vue – vous juste un coup entiers 64 bits côtés avec des doubles et des que j'ai compris il choisir le bon type sera fait automatiquement. Vous n'avez pas à déclarer les types de Lua comme vous le faites en VB ou C# – ces langues utilisent un de complètement différent de frappe de la discipline.
OriginalL'auteur Joey
OriginalL'auteur Chessforeva Dev
Lua 5.3 introduit le sous-type integer, qui utilise entier de 64 bits par défaut.
De Lua 5.3 manuel de référence
OriginalL'auteur Yu Hao