Hola Fw190 solucioné en parte el problema, cambié a pot de int a double y me muestra bien según la longitud, ahora tengo el problema que cuando el ingreso sobrepasa a 20, digamos 30, 40 o mucho más nunca termina de recorrer la lista de números binarios, pongo el código:
Código C#:
Ver originalusing System;
namespace _11_FOR
{
class Program {
/**
* Código de: http://www.solveet.com/exercises/Tabla-de-verdad-en-Binario/339/solution-2144
*
* 11. Programa en Java que da la lista de numeros en Binario según una longitud
* introducida por el usuario. Usando la funcion Integer.toBinaryString(int num).
*/
static void Main(string[] args) {
Console.Clear();
Console.WriteLine("Introduce la cantidad de dígitos: ");
int longitud = Convert.ToInt32(Console.ReadLine());
String numBin = "";
//2 elevado al valor ingresado
/* */
double pot = Math.Pow(2, longitud);
for(int i = 0; i < pot ;i++){
Console.WriteLine(Convert.ToString(i, 2));
// pasa el valor de decimal a binario
//numBin = Int32.toBinaryString(i);
numBin = Convert.ToString(i, 2);
/*
uso el while para ir agregando caracteres hasta llegar
al largo ingresado
*/
while(numBin.Length < longitud){
numBin = 0 + numBin;
}
Console.WriteLine(numBin);
}
}
}
}
Espero sus respuestas y saludos.