programa en lazarus
hola estoi aprendiendo este lenguaje y necesito hacer un programa que convierta de decimal a binario este es mi codigo empezado solo que no c declarar un arreglo y como recorrerlo
a := decimal.Text; if(a > 255)then a := b; else Application.MessageBox(introduce un numero menor a 255); |
Hola,
suponiendo que la variable a sea un entero debes usar esta función para convertir el número a entero:
A continuación usa esta para pasar de entero a binario:
Esta función está sacada de aquí |
Cita:
Hola cuteprincess. Además de lo comentado por arturom, te voy a explicar cómo crear y recorrer una lista (array). El siguiente código crea una lista con 10 elementos, les asigna un número a cada uno y después los escribe en pantalla. Para probarlo, debes decirle a Delphi que es un programa de consola ("console project"):
Y ya sabes, si tienes alguna duda, busca o pregunta. :) |
conversion de decimal a binario
hola antes k nada muxas grax x ayudarm y tomar su tiempo, m surgio otra duda este es mi programa pero m marca un error en en la division x k m dice k son incompatibles los tipos, tambien no c si este bien en como concatene el vector, ojala puedan ayudarm grax
procedure TForm2.Button1Click(Sender: TObject); var a:integer; b:integer; x:integer; d:integer; r :array [1..8] of Integer; begin a:= StrToInt( decimal.Text); if(a < 255)then for x:= 1 TO 8 DO begin b := a; d := a / 2; r[x]:= b % 2; a:= d; end ShowMessage('EL NUMERO BINARIO ES: '&r[8]&r[7]&r[6]&r[5]&r[4]&r[3]&r[2]&r[1]); else ShowMessage('EL NUMERO ES MAYOR A 254'); end; |
Eso es porque el resultado de una división siempre es un número fraccionario, y no puedes asignar un número fraccionario a una variable entera ya que se pierde precisión (exactitud en el resultado). Por esto se dice que Pascal es "estricto".
Hay dos posibles soluciones:
Utilizar una u otra depende de qué tipo de resultado necesitas. El operador DIV es mucho más rápido pero menos preciso que dividir con el operador "normal" (/) y luego redondear. |
La franja horaria es GMT +2. Ahora son las 23:03:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi