-
const char fzb[256] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2, // 140 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, // 160 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, // 180 2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3, // 200 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, // 220 3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, // 240 5,5,5,5,5,5,5,5,6,6,6,6,7,7,8,0 }; int ffzb(int x){ int i,r,k; r = fzb[(unsigned char)(x>>24)]; if(r){return r;} r+=8; i = fzb[(unsigned char)((x&0x00ff0000)>>16)]; if(i) { return r + i;} r+=8; i = fzb[(unsigned char)((x&0x0000ff00)>>8)]; if(i) { return r + i;} r+=8; i = fzb[(unsigned char)(x&0x000000ff)]; if(i) { return r + i;} return 0; }