A binary string is a word containing only $0$s and $1$s. In a binary string, a 1-run is a non-extendable substring containing only $1$s. Given a positive integer n, let B(n) be the number of $1$-runs in the binary representation of n. For example, B(107) = 3 since 107 in binary is 1101011 which has exactly three 1-runs. What is the following expression equal to?
$B(1) + B(2) + B(3) + · · · + B(255)$
I have solved the problem, I would like to see how others approach the problem or if there is more elegant solution to it. For spoiler, I will add my approach in the comment.