Você não precisa converter os valores em string. A sua descrição de "0 + 0 = 0, 0 + 1 = 0 e 1 + 1 = 1" é que ficou errada. Você sabe alguma coisa de lógica? Em lógica, usamos o operador '+' para a operação OU, que tem a seguinte saída: "0 + 0 = 0, 0 + 1 = 1, 1 + 1 = 1". Que não é seu caso.
O que você quer é fazer um programa que pegue um IP de host e retorne o IP identificador da rede a qual ele pertence. Para isso, você deve fazer um AND entre o IP do host e a máscara de rede. Portanto, você poderia simplesmente ler os inteiros (como já está fazendo), e então fazer um AND com eles.
Achou qual o operador AND bitwise do C?
Enzo Ferber
[]'s
$ indent -kr -i8 src.c
"(...)all right-thinking people know that (a) K&R are _right_ and (b) K&R are right."
- linux/Documentation/CodingStyle - TORVALDS, Linus.
a logica do projeto estou ciente nao estou conseguindo utilizar a linguagem toda essa parte de operação AND conheço a minha dificuldade esta em consegui fazer tal operação apos pegar o retorno do que foi digitado