-
Notifications
You must be signed in to change notification settings - Fork 231
BigInt #305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BigInt #305
Changes from 1 commit
560d2c7
0056705
0ead300
723e619
c2907cc
30d4ad3
93c9914
708ffc9
2380c91
0516d8c
45e7b19
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -2,129 +2,129 @@ | |||||
|
|
||||||
| [recent caniuse="bigint"] | ||||||
|
|
||||||
| `BigInt` is a special numeric type that provides support for integers of arbitrary length. | ||||||
| `BigInt` es un tipo numérico especial que provee soporte a enteros de largo arbitrario. | ||||||
|
|
||||||
| A bigint is created by appending `n` to the end of an integer literal or by calling the function `BigInt` that creates bigints from strings, numbers etc. | ||||||
| Un bigint se crea agregando `n` al final del literal entero o llamando a la función `BigInt` que crea bigints desde cadenas, números, etc. | ||||||
|
|
||||||
| ```js | ||||||
| const bigint = 1234567890123456789012345678901234567890n; | ||||||
|
|
||||||
| const sameBigint = BigInt("1234567890123456789012345678901234567890"); | ||||||
|
|
||||||
| const bigintFromNumber = BigInt(10); // same as 10n | ||||||
| const bigintFromNumber = BigInt(10); // lo mismo que 10n | ||||||
| ``` | ||||||
|
|
||||||
| ## Math operators | ||||||
| ## Operadores matemáticos | ||||||
|
|
||||||
| `BigInt` can mostly be used like a regular number, for example: | ||||||
| `BigInt` puede ser usado mayormente como un número regular, por ejemplo: | ||||||
|
|
||||||
| ```js run | ||||||
| alert(1n + 2n); // 3 | ||||||
|
|
||||||
| alert(5n / 2n); // 2 | ||||||
| ``` | ||||||
|
|
||||||
| Please note: the division `5/2` returns the result rounded towards zero, without the decimal part. All operations on bigints return bigints. | ||||||
| Por favor ten en cuenta: la división `5/2` devuelve el resultado redondeado a cero, sin la parte decimal. Todas las operaciones sobre bigints devuelven bigints. | ||||||
joaquinelio marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| We can't mix bigints and regular numbers: | ||||||
| No podemos mezclar bigints con números regularess: | ||||||
joaquinelio marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| ```js run | ||||||
| alert(1n + 2); // Error: Cannot mix BigInt and other types | ||||||
| alert(1n + 2); // Error: No se puede mezclar BigInt y otros tipos. | ||||||
| ``` | ||||||
|
|
||||||
| We should explicitly convert them if needed: using either `BigInt()` or `Number()`, like this: | ||||||
| Podemos convertirlos explícitamente cuando es necesario: usando `BigInt()` o `Number()` como aquí: | ||||||
|
|
||||||
| ```js run | ||||||
| let bigint = 1n; | ||||||
| let number = 2; | ||||||
|
|
||||||
| // number to bigint | ||||||
| // De number a bigint | ||||||
| alert(bigint + BigInt(number)); // 3 | ||||||
|
|
||||||
| // bigint to number | ||||||
| // De bigint a number | ||||||
| alert(Number(bigint) + number); // 3 | ||||||
| ``` | ||||||
|
|
||||||
| The conversion operations are always silent, never give errors, but if the bigint is too huge and won't fit the number type, then extra bits will be cut off, so we should be careful doing such conversion. | ||||||
| Las operaciones de conversión siempre son silenciosas, nunca dan error, pero si el bigint es tan gigante que no podrá ajustarse al tipo numérico, los bits extra serán recortados, entonces deberíamos ser cuidadosos en hacer tal conversión. | ||||||
joaquinelio marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| ````smart header="The unary plus is not supported on bigints" | ||||||
| The unary plus operator `+value` is a well-known way to convert `value` to a number. | ||||||
| ````smart header="El unario más no tiene soporte en bigints" | ||||||
| El operador unario más `+value` es una manera bien conocida de convertir `value` a number. | ||||||
| On bigints it's not supported, to avoid confusion: | ||||||
| Con bigints eso no es soportado para evitar confusión: | ||||||
|
||||||
| Con bigints eso no es soportado para evitar confusión: | |
| Con bigints eso no es soportado. Para evitar confusión: |
De acuerdo a mi lectura, y lo que voy entendiendo, ahí ocupaba el punto
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nope
CREO (nunca estoy seguro) que tiene sentido. Cierto que suele poner "como aqui:" y eso faltaria. pero
respondeme:
hubiera sido muy facil soportarlo,
¿Por qué no es soportado?
al poner +variable, se tranforma a number
pero si variable es bigint... +variable, ¿debería dejarla bigint? ¿deberia truncarlo?
ssi la deja bigint, seria ambiguo,
porque +variable resulta en bigint en ocasiones y en numbree n otras
es decir confusiones
Pero ALGO voy a cambiar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JA!
that was fast
Ilya respondio... con
What you think, paroche ? =)
con @ que saqué para avoid la confusion de don paroche
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jajajaja... Ayer andaba desvelado, debió ser eso que no leí bien el artículo. Tenés razón, ese punto no va.
Uh oh!
There was an error while loading. Please reload this page.