fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. int binaryToDecimal(const char *binary) {
  6. int decimal = 0;
  7. while (*binary) {
  8. decimal = decimal * 2 + (*binary++ - '0');
  9. }
  10. return decimal;
  11. }
  12.  
  13. int main() {
  14. char bin1[33], bin2[33]; // up to 32-bit binary strings
  15.  
  16. printf("Enter first binary number: ");
  17. scanf("%32s", bin1);
  18.  
  19. printf("Enter second binary number: ");
  20. scanf("%32s", bin2);
  21.  
  22. int dec1 = binaryToDecimal(bin1);
  23. int dec2 = binaryToDecimal(bin2);
  24.  
  25. printf("Decimal of first binary: %d\n", dec1);
  26. printf("Decimal of second binary: %d\n", dec2);
  27.  
  28. printf("Bitwise AND result (decimal): %d\n", dec1 & dec2);
  29. printf("Bitwise OR result (decimal): %d\n", dec1 | dec2);
  30.  
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0.03s 25776KB
stdin
Standard input is empty
stdout
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int binaryToDecimal(const char *binary) {
    int decimal = 0;
    while (*binary) {
        decimal = decimal * 2 + (*binary++ - '0');
    }
    return decimal;
}

int main() {
    char bin1[33], bin2[33]; // up to 32-bit binary strings

    printf("Enter first binary number: ");
    scanf("%32s", bin1);

    printf("Enter second binary number: ");
    scanf("%32s", bin2);

    int dec1 = binaryToDecimal(bin1);
    int dec2 = binaryToDecimal(bin2);

    printf("Decimal of first binary: %d\n", dec1);
    printf("Decimal of second binary: %d\n", dec2);

    printf("Bitwise AND result (decimal): %d\n", dec1 & dec2);
    printf("Bitwise OR result (decimal): %d\n", dec1 | dec2);

    return 0;
}