wurum es bei der ganzen sache geht ist ja (hoffentlich) klar: es soll eine led nach der anderen leuchten, und für das bitmuster, das auf den port ausgegeben wird, heißt das, dass die position eines an/1/high-bits einmal quer über den port "geschoben" wird.

zur veranschaulichung mal was nun schrittweise passiert:

00000001
00000010
00000100
00001000
00010000
00100000
01000000
10000000

somit fängt das lauflicht an einer seite des ports an und läuft dann nach und nach rüber, indem halt das eine bit verschoben wird, also englisch "shift"

um das mit dem mal 2 und durch 2 zu verstehen muss man erst mal wissen, das nun im binärsystem gerechnet wird. die bitfolgen (siehe oben) werden als binäre zahlen aufgefasst. nimmt man nun die %00000001 (das perozentzeichen ist ein übliches kennzeichen für binärzahlen) , was dezimal 1 entspricht, und multipliziert dasd ganze mit dezimal 2, dann bekommt man als ergebnis %00000010 heraus, also das nächste element der folge. so gehr das dann immer weiter, und andersrum per division...

ich glaub so 100% verständlich ist das immer noch nicht, aber es ist ein anfang...