Ils utilisent le bit de retenue pour ajouter et soustraire. Les opérations d'assemblage pour "ajouter avec carry" et "soustraire avec carry" (ou "emprunter") peuvent être utilisées pour une addition et une soustraction de précision étendues de longueur arbitraire. Pour multiplier, si vous ne disposez que d'un résultat de multiplication de 32 bits, vous pouvez le diviser en paires de valeurs de 16 bits et multiplier puis décaler et ajouter (avec report) pour obtenir un résultat 64 bits complet de 32 -bit multipliez. Fondamentalement, faire la version à main longue (deux multiplets de 16 bits quelconques correspondent à un résultat de 32 bits) peut être utilisé pour générer des multiplicateurs arbitraires de longueur de bits en utilisant une précision plus limitée. FWIW, l'instruction asm "mul" 32 bits d'Intel peut mettre un résultat 64 bits dans EDX: EAX pour que vous puissiez réellement effectuer des multiplications dans des blocs de 32 bits (avec des valeurs de 64 bits à ajouter) au lieu de 16. morceaux de bits (avec des valeurs de 32 bits à déplacer et à ajouter).