Na het een en het ander met php te hebben geprogrammeerd, heb ik mijzelf voorgenomen om C++ te leren.
ik heb nu 2 handleidingen gevonden, die ik aan het doorlezen ben, namelijk:
thinking in C++, 2nd edition 1&2
nu ben ik heb het onderdeel shift operators gekomen en ben ik de kluts kwijt. De oplossing zal wel simpel zijn ik zie het gewoon niet.
het gaat om het volgende programma :
zoals de meeste van jullie zien print deze functie een binair getal van een decimaal getal.
mijn vraag, hoe werkt deze functie precies, gelet op val & (1 << i))????????????????
ik heb nu 2 handleidingen gevonden, die ik aan het doorlezen ben, namelijk:
thinking in C++, 2nd edition 1&2
nu ben ik heb het onderdeel shift operators gekomen en ben ik de kluts kwijt. De oplossing zal wel simpel zijn ik zie het gewoon niet.
het gaat om het volgende programma :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| #include <iostream>
#include <stdlib.h>
void printBinary(const unsigned char val) {
for(int i = 7; i >= 0; i--)
if(val & (1 << i))
std::cout << "1";
else
std::cout << "0";
}
int main () {
printBinary(3);
return 0;
} |
zoals de meeste van jullie zien print deze functie een binair getal van een decimaal getal.
mijn vraag, hoe werkt deze functie precies, gelet op val & (1 << i))????????????????