b = a[0] + a[1] + a[2] + a[3] - 48*4;

was da addiert wird sind die ASCII werte
um dann von denen auf deine zahlen zu kommen musst du von jedem 48 abziehen
in diesem fall 4 mal weil du a[0]-a[3] addierst
daher die -48*4
und das ganze musst du deshalb machen weil die 0 in der ASCII tabelle den wert 48 hat