Je regarde le code source original pour Identicons. Il y a un peu de code qui fait un peu peu tripotant pour extraire les composants rouge, vert et bleu:Différences entre 0x01 et 0x01f
int blue = (code >> 16) & 0x01f;
int green = (code >> 21) & 0x01f;
int red = (code >> 27) & 0x01f;
La variable de code est un entier de 32 bits.
Ma question est la suivante: Quelle est la différence entre le nombre 0x01 et 0x01f?
Je suppose que le f signifie que la valeur est un flottant, mais pourquoi en faire un flottant? Est-ce que la représentation flottante en binaire est différente de la représentation en nombres entiers? Cela ne causerait-il pas des problèmes pour des raisons de portabilité lors du portage si un langage particulier n'utilise pas la même représentation?
En outre, je suis probablement en train de lire ce problème parce que je ne comprends pas le problème 0x01f, mais n'est-ce pas en réglant les représentations rouge, verte et bleue sur 0 ou 1, selon le bit le moins significatif?
Bien sûr, c'était stupide de ma part. Mon cerveau n'a pas démarré aujourd'hui apparemment. Donc par ce code, les données RVB seraient une valeur RVB de 16 bits de 565. Mais le composant vert de la couleur n'utilise que 5 de ses 6 bits. Cela signifie-t-il que le code Identicon n'utilise pas la quantité totale de bits fournis dans le hachage, l'adresse IP, etc.? – Brad
Que sont les Identicons de toute façon? Des cousins lointains des Decepticons? – NullUserException
Les identicons sont les images qui sont assignées à votre profil StackOverflow (comme cet identicon rose et blanc que mon flair a là haut). Ils sont créés sur la base d'un entier unique pour identifier de façon unique un utilisateur. Par exemple, si je publiais anonymement et qu'une image était attachée à chaque message que je publiais, personne ne pouvait prétendre qu'ils étaient moi (car ils auraient une adresse IP différente et une image différente). peut l'utiliser pour beaucoup de choses, IP, hachages de fichiers, etc. Il permet aux humains d'interpréter rapidement si une image donnée correspond à un hachage particulier, sans regarder un nombre codé en hexadécimal. – Brad