# [MATL](https://esolangs.org/wiki/MATL), <s>18</s> 17 bytes

    YBTyd~Thhfd1wY{ZB

[__Try it online!__](http://matl.tryitonline.net/#code=WUJUeWR-VGhoZmQxd1l7WkI&input=MzcxMDE3)

    YB      % input number. Convert to binary string
    T       % push true value
    y       % duplicate binary string and push it at the top of the stack
    d~      % true for each value that equals the previous one
    T       % push true value
    hh      % concatenate: true, indices, true
    f       % find indices of true values
    d       % consecutive differences: lenghts of alternating sequences
    1wY{    % split binary string according to those lengths
    ZB      % convert each substring into decimal number