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

199
Vistas
Por qué BSON no usa uint32_t en lugar de int32_t para la longitud del documento

Según la especificación BSON, se utiliza un int32_t para el número total de bytes que comprende el documento.

También puedo ver que mongo-c-driver está usando Libbson y está usando int32_t.

Pero, ¿cuál es la razón para usar enteros con signo en lugar de enteros sin signo?

el tamaño del documento nunca será inferior a 0. ¿Puede alguien explicar el motivo?

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

0

El tamaño del documento está limitado a 16 MB, lo que cabe en un número entero de 32 bits con signo con espacio de sobra.

Si bien se consideraron límites de tamaño de documento superiores a 16 MB, supongo que no hubo una consideración seria de los tamaños de documento que superan los 2 GB, por lo tanto, la diferencia en el rango que se obtiene al usar enteros de 32 bits sin signo para la longitud no fue un beneficio significativo.

Por lo tanto, no hay motivo para utilizar un tipo sin firmar.

Razones para NO usar un tipo sin firmar:

  • Potencial envolvente de UINT_MAX a 0.
  • -1 podría usarse como un designador especial.
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