fork download
  1. #include <cstdio>
  2.  
  3. int main()
  4. {
  5. unsigned arr[]={
  6. 0xb454499b,0x53273900,0x8032c2fb,0x76f6a48,0xbe1cb684,
  7. 0x6d8c99be,0x40563754,0xba3c3e26,0x4386ca5e,0x9004f9,
  8. 0x32399ba9,0xa4d9435a,0xd3609c82,0xfbc05dca,0x1345e4b5,
  9. 0x5199b6fd,0x7e6cd195,0x72f63f3b,0x475cf221,0x8548a77c,
  10. 0x95e093af,0x5170f7bc,0x85a34276,0x6edc1daa,0xe37a821,
  11. 0x6f003e8b,0x18a776a6,0x8ed2bd8,0x314879f5,0xc711ead1,
  12. 0xb19c9ba5,0xb99b81ac};
  13. #define _len(a) (sizeof(a)/sizeof(*a))
  14.  
  15. unsigned find=0x99b,size=12;//Что ищем и какого размера
  16.  
  17. unsigned mask=0;
  18. for (int i=0;i<size;i++){
  19. mask=(mask<<1)|1;
  20.  
  21. }
  22. printf("0x%x\n",mask);
  23.  
  24. for (int i=0;i<sizeof(arr);i++){
  25.  
  26. unsigned part=*(unsigned*)((char*)(arr)+i);
  27.  
  28. for (int i2=0;i2<8;i2++)
  29. { unsigned x=((part>>i2)&mask);
  30. if (x==find){
  31. printf("find %2d:%d\n",i,i2);
  32. }
  33. }
  34. }
  35.  
  36. }
  37.  
Success #stdin #stdout 0s 4564KB
stdin
Standard input is empty
stdout
0xfff
find  0:0
find 20:4
find 41:0
find 61:4
find 103:2
find 126:0