Fonction char

tataaoa -  
nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je ne comprend pas le sens de cette fontion :
D'apres son nom je me doute qu'elle convertit un caractere en nombre, mais je ne comprend pas le procédé. a quoi sert le "-" ?
public static int charToInt (char c) {
return (c - 'a');
}

A voir également:

1 réponse

nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   138
 
Bonjour,

c'est simplement que la valeur du caractère "a" est donné comme base à soustraire pour obtenir l'index du caractère dans l'alphabet...
En fait chaque symbole à une valeur correspondante dans la table ASCII, le "a" à la valeur 97, on soustrait donc cette valeur afin de partir de a = 0.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
D'ailleurs si le "-" est autorisé c'est parce qu'on a implicitement déjà convertit chacun des deux caractères c et 'a' en entiers. Si on les explicite dans ta méthode ça donnerait ceci :

public static int charToInt (char c)
{
    return ((int) c) - ((int) 'a'); // Le "- " est bien la soustraction
}

Remarque @nicocorico : par défaut en Java on manipule de l'UTF-16 pas de l'ASCII.
0
nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   138
 
Je prend note! C'est sûr que la base ascii est rapide et peu gourmande en mémoire mais quelque peu limitée.
0