Új hozzászólás Aktív témák

  • kovisoft

    őstag

    válasz Postas99 #15033 üzenetére

    Hogyan is kapjuk az Y XOR (Y>>1) egy adott bitjét? Ez akkor lesz 1, ha az adott bit Y-ban eltér a tőle eggyel balra lévő bittől, mivel Y-t az eggyel jobbra shiftelt értékével XOR-oljuk. És akkor lesz az adott bit 0, ha az adott bit Y-ban ugyanaz, mint a tőle eggyel balra lévő bit.

    Ha ezt megfordítjuk, és vesszük X egy bitjét, akkor ha ez 0, abban az esetben Y-ban ugyanezen a helyen lévő bit meg kell egyezzen a tőle balra lévővel.

    Ha elindulunk X legfelső bitjétől, akkor ez alapján megállapíthatjuk Y legfelső bitjét, mert Y>>1-nek a legfelső bitje 0, ezzel XOR-oljuk Y-t. Tehát Y legfelső bitje ugyanaz lesz, mint X legfelső bitje. Innen haladhatunk lefelé: ha X következő bitje 0, akkor Y következő bitje megegyezik Y előző bitjével. Ha X következő bitje 1, akkor Y következő bitje ellenkezője Y előző bitjének.

Új hozzászólás Aktív témák