Código C:
Ver original- #include <stdio.h> 
-   
- void bin (int n) { 
-     if(n==0) { 
-             return ; 
-     } 
-     else if (n==1) { 
-         return ; 
-     }  
-     else { 
-             bin(n/2); 
-             return; 
-     } 
- } 
-   
-   
- int main() 
- { 
-     bin(13); 
-   
- } 
Antes no funcionaba porque no tenias el caso base del uno asi que con uno se volvia a llamar y ahi te mostraba el cero.... y siempre tiraba el primer bit... Fijate que apenas entra imprimia y despues hacia un return n%2; 
Ese primer return nunca se mostraba 
Saludos