Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    34

    [C++] Confronto tra caratteri (lettere)

    Ho dei dubbi su come ragiona il linguaggio C quando ci sono dei confronti tra lettere. Nell'espressione "IF D > B" il sistema converte implicitamente in ascii ed esegue il confronto, oppure è necessario che la conversione in ascii la esegue il programmatore con un cast. Grazie mille a tutti!!!

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    quello che hai scritto è un confronto tra 2 variabili D e B. Per i caratteri devi includerli negli apici 'D' e 'B'
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    il sistema converte implicitamente in ascii ed esegue il confronto
    In realtà è il contrario. Ossia, il sistema associa a un determinato range di numeri (da 0 a 255) dei simboli che in alcuni range particolari noi vediamo come lettere, numeri o qualcosa di intelleggibile.
    Pertanto il "cast" avviene al contrario, ossia nell'espressione:
    codice:
    if ( 'd' > 'b') ...
    noi vediamo lettere perché il sistema associa i corrispondenti simboli 'd' e 'b' ai numeri 70 e 68 (in codifica ASCII), ma il sistema usa solo numeri, ossia:
    codice:
    if ( 70 > 68) ...
    In altre parole, non è che a un simbolo corrisponda un numero, ma a un numero viene fatto corrispondere un simbolo (simbolo che dipende dalla codifica usata dal sistema).
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    34
    Vi ringrazio molto per il vostro aiuto. Quindi se mi viene richiesto di verificare se una lista di caratteri è in ordine alfabetico posso eseguire tranquillamente dei confronti sulle lettere senza utilizzare i codici ascii.

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,464
    Quote Originariamente inviata da spimi99 Visualizza il messaggio
    Vi ringrazio molto per il vostro aiuto. Quindi se mi viene richiesto di verificare se una lista di caratteri è in ordine alfabetico posso eseguire tranquillamente dei confronti sulle lettere senza utilizzare i codici ascii.
    Sì, per le costanti usa gli apici, come ti hanno detto

    if(variabile <= 'Z') ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.