#define M 4 #define N 4 main() { int *a,k; a = (int *) 0x10000; k=conv(a); } int conv(int a[M][N]) { int i,j,k; for(i=1; i<(M-1); i++) { for(j=1; j<(N-1); j++) { k = a[i-1][j-1] + a[i-1][j] + a[i-1][j+1] + a[i][j-1] + a[i][j+1] + a[i+1][j-1] + a[i+1][j] + a[i+1][j+1]; k = k>>3; /* div 8 */ k = k + a[i][j]; a[i][j] = k >> 1; /* finish normalizing */ } } return k; }