danilom

soma logica

Sep 8th, 2011
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.40 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char **argv) {
  4.  
  5.   printf("%d\n", soma(atoi(argv[1]),atoi(argv[2])));
  6.  
  7. return 0;
  8. }
  9.  
  10.  
  11. int soma(int a, int b) {
  12. int i, x;
  13.  
  14. for(i=x=0; a!=0 || b!=0; ++i, a>>=1, b>>=1) {
  15.   if(a&1 || b&1)
  16.     x |= 1<<i+(a&1 && b&1);
  17. }
  18.  
  19. return x;
  20. }
  21.  
  22. int atoi(char n[]) {
  23. int i, j;
  24.   for(i=j=0; n[i]!=0 || n[i]>='0'&&n[i]<='9'; ++i)
  25.     j = j*10 + (n[i]-'0');
  26. return j;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment