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

260
Views
Si sizeof(int) == sizeof(long), ¿entonces INT_MIN == LONG_MIN && INT_MAX == LONG_MAX siempre es cierto?

Si sizeof(int) == sizeof(long) , entonces INT_MIN == LONG_MIN && INT_MAX == LONG_MAX siempre es cierto?

¿Existen casos reales que demuestren que "no es cierto"?

UPD. La pregunta similar: ¿Hay alguna implementación de C alojada que tenga CHAR_BIT > 8? .

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

No tiene por qué ser cierto. C11 6.2.6.2p2 :

  1. Para los tipos enteros con signo, los bits de la representación del objeto se dividirán en tres grupos: bits de valor, bits de relleno y el bit de signo. No es necesario que haya partes de relleno; El carácter firmado no tendrá bits de relleno. Habrá exactamente un bit de signo. Cada bit que sea un bit de valor tendrá el mismo valor que el mismo bit en la representación de objeto del tipo sin signo correspondiente (si hay M bits de valor en el tipo con signo y N en el tipo sin signo, entonces M <= N ). Si el bit de signo es cero, no afectará el valor resultante. Si el bit de signo es uno, el valor se modificará de una de las siguientes maneras:

    • se niega el valor correspondiente con el bit de signo 0 (signo y magnitud);
    • el bit de signo tiene el valor -(2 M ) (complemento a dos);
    • el bit de signo tiene el valor -(2 M - 1) (complemento de unos).

    Cuál de estos se aplica está definido por la implementación, al igual que si el valor con el bit de signo 1 y todos los bits de valor cero (para los dos primeros), o con el bit de signo y todos los bits de valor 1 (para el complemento de unos), es una representación trampa. o un valor normal. En el caso de signo y magnitud y complemento de unos, si esta representación es un valor normal se denomina cero negativo.


Ahora, la pregunta es "¿hay alguna implementación que tenga una cantidad diferente de bits de relleno" o, incluso como se mencionó claramente , diferentes representaciones para diferentes tipos de enteros; es muy difícil probar que no existe tal implementación actualmente en uso. Pero creo que es muy poco probable que uno se encuentre con un sistema como este en la vida real.

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!