Gå til innhold

Styggeste linje C++ noensinne...


Anbefalte innlegg

Jeg har skrevet et lite program for å printe ut den binære representasjonen av en bokstav. Jeg orka ikke å snu rekkefølgen på bit'ene, så jeg endte opp med dette:

 

ss << static_cast<bool>(c & static_cast<int>(std::pow(2, CHAR_BIT)));

 

Jeg tror jeg kan skryte på meg å ha skrevet den styggeste linja med C++ noensinne.

 

Teorien bak er å utføre bitwise AND mellom char c og den høyeste verdien mulig med det antallet bits;

 

1000 0000 &

0110 0001

 

Dette ville jeg gjøre for å slippe å snu c for å få dette:

 

0000 0001 &

1000 0110

 

Pent er det ikke, men det funker. Og jeg gidder strengt tatt ikke å bryte opp koden :p

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...