J'essaie de comprendre comment "nombre entier signé" et "décalage gauche arithmétique" fonctionnent dans swift et iOS.Entier signé, décalage arithmétique vers la gauche
Dans le livre, le langage de programmation rapide 3.0, il dit
Je l'ai essayé avec le code suivant:
Je comprends avec entier signé, représentation binaire de -120 est 10001000, donc déplacer une place vers la gauche se traduirait par 00010000, ce qui est égal à 16 (comme indiqué par le code). Mais 16 n'est pas le double de -120
la déclaration faite par le livre est incorrecte, non? ou y a-t-il quelque chose qui me manque?
Tout dépend du type d'entier que vous utilisez. Essayez de changer 'negative120' en un Integer Swift au lieu de' Int8' comme 'let negative120: Int = -120', et vous remarquerez que la valeur double. – Pierce