Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

99
Vistas
BooleanArray con un tamaño superior a 2147483647

Estoy intentando implementar el tamiz de Atkin en Kotlin. Quiero que admita números hasta 2 ^ 32-1, por lo que el tamiz debe ser una matriz UInt .
Intento inicializar el tamiz de esta manera:

 var sieve = BooleanArray(limit + 1u)

Entonces, me sale el error:

 error: type mismatch: inferred type is UInt but Int was expected

Entonces, ¿hay alguna forma de hacer que un BooleanArray (o equivalente) almacene al menos 4294967295 valores?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Lo más fácil podría ser usar UInt como el tamaño y luego mapear internamente 2 BooleanArray comunes, que usan Int para el direccionamiento, a pesar de que nunca podría haber un valor de índice negativo (esto parece ser una falla de diseño, o al menos una falta de optimización ). Lo que significa que también se podría abordar todo con Int firmado. Quiero decir, para mapear internamente los valores negativos a un BooleanArray y los valores positivos a otro BooleanArray . El problema real parece ser que se pasa un Int firmado, pero solo el rango positivo (50%) se puede usar para direccionar datos. Uno podría usar absoluteValue , porque no importa en qué dirección se llena la matriz.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda