[RISOLTO] maiuscola a minuscola con bit //si può implem..

di il
3 risposte

[RISOLTO] maiuscola a minuscola con bit //si può implem..

Ciao,
stavo semplicemente facendo un programmino (ovviamente sono agli esordi) che dovrebbe scrivere una lettera minuscola in maiuscolo ma come da testo dovrei farlo con un trattamento dei bit...

il codice è:

#include <iostream>
using namespace std;

int main() {
     char c;
     cout << "Lettera Minuscola: ";
     cin >> c;

     if(c >= 'a' && c <= 'z'){
          c &= 0xDF;
          cout << "Lettera Maiuscola: " << c << '\n';
          } else {
          cout << c << " non è una lettera minuscola!";
}
ok, lasciando perdere le varie implementazioni che in seguito proverò a fare, quello che non capisco è c &= 0xDF. dove l'ha trovato?
ho notato che binario è:
'a' = 01100001
'A' = 01000001
0xDF = 11011111

dove trovo documentazione per capire come si arriva a 0xDF???

3 Risposte

  • Re: [RISOLTO] maiuscola a minuscola con bit //si può implem..

    Capito la prima parte..
    non ho chiaro perché c &= 0xDF mi trasforma le minuscole in maiuscole allora...
    le precedente esempio non dovevo fa altro che
    
    if(c >= 'a' && c <= 'z'){
         c -= 'a' - 'A' // o 32 in numero tanto è lo stesso
    etc etc 
    
    ma qui capisco il perché avviene la trasformazione.. sopra no e non ho capito quale argomento devo riguardare...

    ps grazie delle risp
  • Re: [RISOLTO] maiuscola a minuscola con bit //si può implem..

    Perfetto grazie mille, ho fatto un pò di prove ed effettivamente è cosi.. in questo modo ho anche scoperto che facendo c |= 0x20 (0010 0000) ottengo la funzione inversa... ovvero la lettera minuscola..
  • Re: [RISOLTO] maiuscola a minuscola con bit //si può implem..

    Non conoscere il codice ASCII ma programmare in C ha veramente poco senso ... sono sempre più convinto del fatto che mancano le basi ...
Devi accedere o registrarti per scrivere nel forum
3 risposte