INTEGER :: ia=1, j DO WHILE(ia /= 0) PRINT *,'Input an integer (or 0 to stop):' READ *, ia PRINT '(5X,4(8I1, 1X))', (IBITS(ia,j,1), j=31, 0, -1) END DO END