There's actually no adding.
Just multiplying by two. That's what makes the result so surprising.
The key is the metric on the bi-infinite sequence space. Differing in the digit closest to the decimal point on either side gives a distance of 1/2, differing one digit further out is 1/4, then 1/8, 1/16, and so on (the total distance is the sum; the maximum distance between two sequences is 2 if they differ in every digit.) So two sequences are "close" to one another if their middle digits are all the same.
This gives you the key attributes of chaos:
(1) Sensitive Dependence on Initial Conditions. Two sequences can be identical for BIG_NUM digits on each side of the decimal point, and then completely different outside of that area. This means their initial distance apart is roughly 1/2^BIG_NUM. But after BIG_NUM multiply-by-two operations, the trajectories have diverged to a distance of around 2.
(2) Topological Mixing. A similar construction to above -- select the first N digits of a sequence to make it fall into a particular neighborhood, and the next M digits to make it fall into a different neighborhood after the appropriate number of bitshifts. This can be done for any pair of neighborhoods.
(3) Density of periodic orbits. Pick any point X in the space, and a distance epsilon. Construct a periodic orbit that gets within epsilon of X simply by taking the central digits of X (using log_2(epsilon) to select how many digits) and repeating those digits.
There you have it -- chaos as a result of a single bitshift operation on bi-infinite sequences, with no addition or other operations.