Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
ob WHILE oder FOR sollte eigentlich egal sein, grundlegend sollte man es mit beiden hinbekommen!ob do while oder for oder eine kombi aus beiden geht
(( ( ((1) * 2) + 0 ) * 2 ) + 1) * 2 + 0
1 * 2 * 2 * 2 + 0 * 2 * 2 + 1 * 2 + 0 = 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0
Dezimal:
...|100| 10| 1
...| 1 | 0 | 0
= 100d
Binär (Dual)
...| 4 | 2 | 1 |
...| 1 | 0 | 0 |
= 4d
1110
AND 1000
________
1000b = 8d != 0
mask = mask >> 1;
Ich verstehe den Sinn deines bitweisen Wegs nicht. Wenn die Ausgangszahl bereits binär vorliegt, ist doch nichts zu tun?Darum: Nimm den bitweisen Weg, wenn du Performance brauchst, denn dieser Weg ist so ziemlich das Schnellste, was du bekommen kannst.
Tatsächlich ist das die Umrechnung Dezimal -> Binär, mea culpa.Ich verstehe den Sinn deines bitweisen Wegs nicht. Wenn die Ausgangszahl bereits binär vorliegt, ist doch nichts zu tun?
Aber vielleicht ist damit einfach / 2 bzw >> 1 gemeint(?). Oder aber... SaraL hat die Zahl per scanf("%d", &zahl) eingelesen.Danach soll eine schleife kommen die zum einen zahl duch 10 und zum anderen die berrechnung vornimmt.
int zahl = 0;
scanf("%d", &zahl);
for(size_t i = 0; i < 10; i++)
{
if(zahl % 10 == 0) break;
if(zahl % 10 == 1) ret += (1 << i);
zahl /= 10;
}
//Ausgabe.
Sicher?Beim Fragesteller liegt die Zahl in ASCII bzw. BCD (jede Ziffer minus (int) '0') vor.