Quería saber si me puedes dar una idea con esto: Tengo un vector que guara un numero binario (componentes con 1 y 0) y le quiero sumar 1 para pasarlo a complemento a 2. Y ademas si sabes como puedo sumar vectores de números binarios o si hay una forma más fácil.(Sin usar GOTO).
1 Respuesta
Respuesta de junio0or
-1
-1
junio0or, Hola ... Estudio Ingenieria en Sistemas, con experiencia en...
Pues tienes que hacer ciclos ya que un vector tiene posiciones por ejemplo esto Si tienes un vector de 5 espacios quiere decir que tienes un vector y tienes un datos en cada posición hasta llegar a 5 y para sumar vinario tendrías que hacer tus funciones para que este mismo encuentre como hacerlo ... Mira pues si me mandas lo que quieres hacer yo lo ago en pascal y después te lo mando ya que creo que es difícil para mi explicarme y para vos entenderlo y con el código ya solo me preguntas que no entiendes y fácil ...
Junio0or acá te paso el programa, le agregue unas aclaraciones para hacerlo más claro. Program COMPLEMENTOA2; USES crt; TYPE numero= string[32]; vector= array[1..32]of byte; VAR N:numero; bits,D,f,h,i,j:longint; g:integer;{es solo pasa el posible error de la funcion VAL} V:vector; Begin clrscr; D:=0; i:=0; writeln('ingrese el numero binario'); readln(N); writeln('ingrese cantidad de bits a trabajar'); readln(bits); {para definir el tope del vector} D:= length(N); {cantidad de digitos ingresados} If D<bits then begin i:=bits; while d>=0 do begin val(n[d],f,g); V:=f; {con esto lo que hago es agregar los ceros para completar los bits (8,16,32)} D:=D-1; i:=i-1; end; for j:=1 to bits do begin write(V[j]); end; end Else begin writeln('el numero es mayor a la cantidad de bits a trabjar'); end; {mostrar si se pasa del tope} {------------------------------------------------} {esto me sirve para cambiar los 1 por 0 y viceversa} for h:=1 to bits do begin If V[h]=1 then begin V[h]:=0; end else begin V[h]:=1; end; write(V[h]); end; {------------------------------------------------} {ahora lo que me falta es sumarle 1 a V, para pasarlo a C2} {y luego ver si se le puede sumar un numero binario cualquiera al que ya tengo en C2} {mi idea es despues pasar esto a una funcion, pero primero lo hago asi para ver si funciona} readkey; end. Bueno, espero tu respuesta, desde ya muchas gracias por tu tiempo. Un saludo! Emiliano.
Ok amigo sabes hoy en la noche te mando todo ya bien ya que estoy en una maquina sin pascal y hoy si tendré una maquina con pascal por lo que te lo mando hoy... Aquí te lo escribiré y pondré lo que me mandaste en una función ... Espero que lo ayas echo bien jajajaja y según ese numero que me indicas que ya te sale en binario are la suma de otro numero en binario ... Saludos ---> :)