Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

188
Views
Tipo de datos más pequeño: ¿puedo definir una variable de un bit?

Solo necesito un bit para representar mis datos: 1 o 0. ¿Cuál es la mejor manera de hacerlo en C? Los tipos de datos "normales" son demasiado grandes.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

podrías crear

 typedef struct foo { unsigned x:1; } foo;

Donde le ha dicho al compilador que solo usará un bit de x .

Pero debido a los arreglos de empaquetamiento de la estructura (el estándar C es intencionalmente flexible para que los compiladores puedan optimizar de acuerdo con la arquitectura de la máquina), es posible que aún ocupe tanto espacio en la memoria como un unsigned normal y una matriz de foo s. no tiene que ser bit a bit contigua.

over 4 years ago · Santiago Trujillo Report

0

Si realmente lo desea, puede crear una estructura con una variable miembro, con un campo de bits de 1 bit.

Recuerde, el tipo de datos de la variable miembro debe estar unsigned , ya que debe almacenar 0 y 1 .

over 4 years ago · Santiago Trujillo Report

0

Si no necesita millones de estas banderas o tiene restricciones de memoria extremadamente limitadas, la mejor manera es definitivamente un int .

Esto se debe a que un int normalmente corresponde al tamaño de palabra natural de su plataforma y, correctamente alineado, se puede acceder rápidamente. De todos modos, la máquina lee una palabra a la vez y el uso de bits individuales requiere enmascaramiento y desplazamiento, lo que cuesta tiempo. En su PC típica con gigabytes de RAM, esto sería una tontería.

Si el consumo de memoria es realmente un problema, existen estructuras de campo de bits.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!