echo $begrüßung;
Da 2047 in 2048 (rechnerisch) enthalten ist, kam ich zu dieser Fehleinschätzung.
Anscheinend war dir die Methode, die Bits als Flag zu benutzen noch nicht geläufig. Kamst du nicht ins Grübeln, wie man wohl aus Dezimalzahlen eindeutig und vor allem ohne großartige Rechnereien[*] ermitteln kann, ob eine bestimmte Zahl zur Bildung der Summe genutzt wurde, ohne die Bits ihrer Binärdarstellung zu beachten?
echo "$verabschiedung $name";
[*] man könnte alle möglichen[**] Zweierpotenzen abziehen und schauen, ob es kleiner 0 wird oder nicht
[**] erstmal die größtmögliche ermitteln, die kleiner oder gleich der Ausgangs-Dezimalzahl ist und dann alle kleineren.