Demo 4, tehtävä 2 ----------------- Selitä miten allaolevat funktiot toimivat ja kirjoita funktio "numscan", joka muuttaa merkkijonona annetun etumerkittömän binääri-, desimaali-, heksa- tai oktaaliluvun numeroksi olettaen, että desimaaliluvut merkitään alku-d:llä, oktaaliluvut o:lla, heksadesimaaliluvut x:llä ja binääriluvut b:llä tai ei millään (ts. 0- ja 1-alkuiset oletetaan binääriluvuiksi). unsigned long binscan(char *s) { unsigned long x=0; while ((*s-'0'|1)==1) x = (x<<1) + (*s++=='1'); return x; } void printbin(unsigned long x, int n) { if (--n) printbin(x>>1, n); putchar("01"[x&1]); }