Pascal/Turbo Pascal - Ayuda con un programa

 
Vista:

Ayuda con un programa

Publicado por lord_byte (17 intervenciones) el 21/09/2004 04:18:54
Disculpen quisiera sabe r si alguien me puede decir como puedo realizar en pasca una calculadora que sume y reste numeros binarios lo que pasa e s que no tengo ni idea de como hacerle

asepto concejos manuales toda la informacion que sea posible por su atencion gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con un programa

Publicado por ivan (37 intervenciones) el 22/09/2004 02:11:06
Hola lord_byte: Bueno opino que seria mejor que sumes y restes en base decimal y luego muestres el resultado en base binaria, por simples cambios de base. Ej:
1100011 - 10110 = 1001101
99 - 22 = 77
Binario a Decimal:
decimal:= 0;
for i:= 0 to length(binario) - 1 do
if binario[ i +1 ] = 1 then decimal:= (1 shl i) + decimal;
donde binario es un string que representa el n° binario que ingresa el usuario y decimal es de tipo integer.
Decimal a Binario (para mostrar el resultado):
for i:= 0 to (sizeof(integer) * 8) - 2 do
if (decimal and (1 shl i)) <> 0 then binario[i + 1]:= '1'
else binario[i + 1]:= '0' ;
Hay que tener en cuenta si decimal es negativo, bueno en ese caso tenes que verificar el ultimo bit del byte alto del integer, si esta activado es negativo, caso contrario es un numero positivo; es por eso que al limite superior del for se le resta 2. Espero que te sea de utilidad, de todas maneras fijate bien porque seguramente hay muchas formas de hacerlo. Adios y Suerte!!!!.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con un programa

Publicado por lord_byte (17 intervenciones) el 23/09/2004 02:38:02
grasias me tus consejos me han servido de mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar