Besoin de comprendre un code
Bonjour
je n'arrive pas à comprendre le code suivant:
Code:
1 2 3 4 5 6
|
template <unsigned long N>
struct binary{
static unsigned const value
=binary<N/10>::value<<1 |N%10
}; |
Pas au niveau de la syntaxe, mais au niveau de l'exécution de l'instruction.
Que fait:
binary<N/10>::value<<1 |N%10
Dans quel ordre cela se lit?
Si par exemple N=139,
N%10=9
On décale de 1 bit binary<N/10>::value
On fait ensuite l'addition binaire de N%10 et de binary<N/10>::value<<1.
J'imagine que cela renvoie le nombre en décimale d'un binaire?
merci