Curso de Raku / Avanzado / Más sobre los tipos integrados

Enteros

Has utilizado enteros desde el inicio del curso. Esta sección examina algunas de sus características menos evidentes.

La más importante es que los enteros en Raku tienen precisión arbitraria: no están limitados a un número fijo de bytes, y nunca desbordan silenciosamente. Mientras haya suficiente memoria, un entero puede crecer tanto como necesites:

say 2 ** 100;
# 1267650600228229401496703205376

Este es un valor exacto, no una aproximación. Lo mismo ocurre con los productos de números grandes: el factorial de 50, por ejemplo, se calcula de forma exacta:

my $factorial = 1;
$factorial = $factorial * $_ for 1..50;
say $factorial;
# 30414093201713378043612608166064768844377641568960512000000000000

Para facilitar la lectura de números largos en el código fuente, puedes agrupar los dígitos con guiones bajos. El compilador los ignora:

say 1_000_000; # 1000000

Los siguientes temas muestran cómo escribir enteros en otras bases numéricas e introducen algunos métodos útiles para enteros.

Temas de esta sección

Práctica

Resuelve 1 cuestionario sobre el contenido de esta sección.

Ejercicios

Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.

  1. ¿Cuántos dígitos?
  2. Hexadecimal a decimal
  3. ¿Primo o no?

Más sobre los tipos integrados   |   Bases numéricas