Je ne sais pas si il y a grand chose à t'expliquer, si ce n'est de conseiller de lire un tutoriel sur la représentation binaire des nombres.
Est-ce bien nécessaire pour ton application d'effectuer ce genre de manipulations ? Si tu ne les maitrises pas, il serait peut-être plus judicieux d'utiliser une bibliothèque ?