Bitmap bits bitmap pos bit state 0 1
Δομή Bitmap /* bits: το bitmap, pos: η θέση του bit που θα θέσουμε τιμή, state: η τιμή */ /* που θα θέσουμε (0 ή 1) */ void bit_set(unsigned char *bits, int pos, int state) { unsigned char mask; int i; /* Set a mask for the bit to set */ mask = 0 x 80; for (i = 0; i < (pos % 8); i++) mask = mask >> 1; /* Set the bit. */ if (state) bits[pos / 8] = bits[pos / 8] | mask; else bits[pos / 8] = bits[pos / 8] & (~mask); return; } -3 -
#include <stdio. h> #include <stdlib. h> main() { int i; $. /a. exe int num; In this computer, RAND_MAX= 2147483647 printf("%s %d", "In this computer, RAND_MAX=", RAND_MAX); generate 10 random coin trials. printf("n. We generate 10 random. We coin trials. "); head for (i=0; i<10; i++) tails { tails num = rand(); tails if ( num <= RAND_MAX/2 ) tails printf("n%s", "head"); head else head printf("n%s", "tails"); head tails } head }
#include <stdio. h> #include <stdlib. h> $. /a. exe In this computer, RAND_MAX= 2147483647 We generate 10 random dice trials. main() 1 { 5 int i, k; 4 double d; 4 4 printf("%s %d", "In this computer, RAND_MAX=", RAND_MAX); 3 printf("n. We generate 10 random dice trials. "); 2 for (i=0; i<10; i++) 2 { 4 d = (double) rand() / ( (double) RAND_MAX + 1); 3 d = d * 6 + 1; k = (int) d; printf("n%d", k); } } Χωρίς το. . . + 1 οι αριθμοί που επιστρέφονται είναι από 0 ως 5.
#include <stdio. h> #include <stdlib. h> void init. Random(); main() { int i, k; double d; printf("%s %d", "In this computer, RAND_MAX=", RAND_MAX); printf("n. We generate 10 random dice trials. "); init. Random(); for (i=0; i<10; i++) { d = (double) rand() / ( (double) RAND_MAX + 1); d = d * 6 + 1; void init. Random() k = (int) d; printf("n%d", k); { } srand((int) time(NULL)); } }
- Slides: 13