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