>>1358147Chain of flipflops forwarding the signal, each looped back to its own toggle so that every time after triggering the following flipflop it flips its own state.
Based on the fact that in binary counting if you look clesely means that the nth bit when changing from 1 to 0 triggers the n+1th one and itself toggles every 2^n steps.
0
1
01 <- became 1 when bit 0 changed back to 0, toggles every 2 steps
11
001 <-- became 1 when bit 1 changed back to 0, toggles every 4 steps
101
011
111
0001
1001
0101
1101
0011
.
.
.
Now look at every column, you will notice that in the end it simply means the first one is 0,1,0..., second one is 0,0,1,1,0,0..., third one is 0,0,0,0,1,1,1,1.0.... and so on.
So the first flipflop toggles every clock, which toggles the second one every two clocks, which itself then toggles the third every 4 clocks and so on.
To reset at 48 (32 +16 -> 110000(2)) all that is left to connect an AND to those two outputs, if BOTH those bits become 1 the first time at the same time you reached 48, then trigger every reset and you are done.