2020-07-05 00:35:33

by André Coelho

[permalink] [raw]
Subject: fast binary calculator

ey


Ive made a program, that uses bit flips to quickly represent binary numbers

for instance, if i use a 128bit number than the algorithm uses

128+128+128 (and not 128*128)

for each bit.

Basically, it assigns slots to bits, so for instance

pos 1    pos 2 pos 3

0             0       0

1            1      1

so that reduces the time it takes to scan them. I also use bit flips to
change the bit on a particular slot.


i wrote both c and java files.


later


Here is the code in c

#include <stdio.h>


char flipBit(char c);

char flipBit(char c) {
    if (c == '0')
        return '1';
    else
        return '0';



}


int main() {





                        char binaryNumber[] = { '0','0','0','0',0 };
                        int slot1,slot2,slot3,slot4;


                        for (slot1=0 ; slot1 < 2 ; slot1++) {
                            printf("\n%s",binaryNumber);
                            for (slot2 =1 ; slot2 < 2 ; slot2++) {
                                binaryNumber[slot2] =
flipBit(binaryNumber[slot2]);

                                printf("\n%s",binaryNumber);

                                for (slot3=2 ; slot3 < 3 ; slot3++) {
                                    binaryNumber[slot3] =
flipBit(binaryNumber[slot3]);
                                    printf("\n%s",binaryNumber);


                                    for (slot4=3 ; slot4 < 4 ; slot4++) {
                                        binaryNumber[slot4] =
flipBit(binaryNumber[slot4]);
printf("\n%s",binaryNumber);
                                    }
                                }

                            }
                            binaryNumber[slot1] =
flipBit(binaryNumber[slot1]);
                            printf("\n");
                        }



}

--
André Albergaria Coelho
[email protected]


Attachments:
binPath.c (0.98 kB)
binPath.java (1.62 kB)
Download all attachments