fork download
  1. #include <stdio.h>
  2. int f1(unsigned char i){
  3. //if文を使う
  4. if(i>99)i/=2;
  5. return i;
  6. }
  7. int f2(unsigned char i){
  8. //マスクを使う
  9. unsigned char mask=(~(i-100)>>8)&0xFF;
  10. i=i^(mask&(i^(i/2)));
  11. return i;
  12. }
  13. int main(void) {
  14. for(int i=0;i<256;i++){
  15. int f1r=f1((unsigned char)i);
  16. int f2r=f2((unsigned char)i);
  17. if(f1r!=f2r)
  18. printf("miss! i=%d f1=%d f2=%d\n",i,f1r,f2r);
  19. //printf("i=%d f1=%d f2=%d\n",i,f1r,f2r);
  20. }
  21. puts("end");
  22. return 0;
  23. }
  24.  
Success #stdin #stdout 0s 4572KB
stdin
Standard input is empty
stdout
end