Hoppa till innehåll

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


Rekommendera inlägg

Skrivet (redigerat)

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(' ');
    }
}

Redigerat av Vitdom
Skrivet (redigerat)

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.

Redigerat av PunkArne

Gå med i konversationen

Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...