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

152
Vistas
¿Cómo uso el complemento de entero con signo de 32 bits para representar un entero en javascript?

ejemplo: voy a usar 0xC0000000 (complemento con signo de 32 bits) para -2^30

 const num = Number('0xC0000000') console.log(num === -Math.pow(2,30)) // expected: true

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

JavaScript solo tiene enteros en complemento a dos en dos lugares:

  1. Como valor temporal durante algunas operaciones. Los operadores bit a bit usan enteros de 32 bits y algunos métodos de objetos Math funcionan con valores enteros de 32 bits (por ejemplo, imul ).

  2. Como elemento en Int16Array , Int32Array o Int64Array . ( Int32Array en su caso).

De lo contrario, todos los números son number (coma flotante binaria de precisión doble IEEE-754) o BigInt (enteros de complemento a dos de precisión arbitraria).

Entonces, por ejemplo, puede tener un complemento de dos en un Int32Array de un solo elemento.

 const array = Int32Array.from([0xC000000]); console.log(array[0].toString(16));

Sin embargo, cada vez que usa ese número entero de 32 bits, se convierte en number . Dicho esto, las conversiones de JavaScript entre el number y el inicio de sesión de 32 bits son bastante inteligentes. Por ejemplo, considere esta condición de contorno de complemento a dos:

 const array = Int32Array.from([0x7FFFFFFF]); console.log(array[0].toString(16)); // 7fffffff ++array[0]; console.log(array[0].toString(16)); // -80000000

Eso es lo que querría para una operación de complemento a dos, aunque no es una operación de complemento a dos (en teoría, los motores de JavaScript pueden optimizar). La operación es complemento a dos de 32 bits int a number , incrementar number , convertir number de nuevo a complemento a dos de 32 bits int. Pero aun así obtenemos el resultado deseado.

about 4 years ago · Juan Pablo Isaza 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