💬
Logga in
Fuska.se

Program Som Läser Bytes I Minne Och Skriver Ut Bitarna

1 svar · startad

Nivå 9 · Veteranfuskare
Trådstartare #1

Jag har gjort ett coolt program som läser bytes i datorns minne och skriver ut alla bitars värden, man kan studera funktionen med ett exempelprogram som följer med.

 

Man skriver in ett heltalsvärde(positivt eller negativt) och sen lagras det värdet i datorns minne. Sedan anropas en funktion som skriver ut alla bitar som tillhör det värdet.

 

Ladda ner:

http://solidfiles.com/info_imgs/qwer.jpg

 

Exempel:

http://img369.imageshack.us/img369/2226/binarydg5.png

 

http://img369.imageshack.us/img369/7421/binary2xi2.png

 

 

Källkoden(finns även i nerladdningen):

#include <cstdio>

// *** void writebin void *address, int bytes ***
// Takes an address(pointer to somewhere in memory) and number of bytes to read
void writebin(void*, int);

int main()
{
    signed myvar;
    
    printf("%s", "Enter a number: ");
    scanf("%d", &myvar);
    while(getchar() != '\n');
    printf("Binary representation(signed %d byte variable) of 10-base value %d:\n", sizeof(myvar), myvar);
    
    writebin(&myvar, sizeof(myvar));
    while(getchar() != '\n');
    
    return 0;
}
void writebin(void *address, int bytes)
{
    const char *pchar = (char*)address + bytes - 1;
    
    while(bytes > 0)
    {
        for(int i = 7; i >= 0; i--)
            printf("%d", *pchar & 1 << i?1:0);
        pchar--;
        bytes--;
        putchar(' ');
    }
}

Senast ändrad:

8 Jan 2009
Nivå 2 · Novis
#2

Inget C++ vad jag kan se förutom den där funktionsheadern :D

 

Ta bort den så får du pure C. Sen tycker jag att det är kortare att skriva int istället för signed. Men smaken är ju som baken.

Senast ändrad:

Vill du vara med i diskussionen?

Bli medlem Logga in