Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Convertir Numeros Negativos A Positivos

Iniciado por sebastianarroyo, 26 de Septiembre de 2005, 01:20:41 AM

« anterior - próximo »

sebastianarroyo

 hola, nesecito convertir numeros enteros negativoas a positivos. o bien que un for valla hacia atras(*). alguien sabe como hacerlo en el lenguaje visual basic??


(*)
For a = 1000 to 0

next a


Sebastian !!


[EX3]

 Un for/next a la inversa. Para ello utilizamos una instruccion adicional al bucle llamada Step que define el valor que se utilizara para actualizar la variable:
For i = 10 To 0 Step -1

Next i

Pasar un numero negativo a positivo:
a = -12

MsgBox Abs(a)

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Douch

 ¿Para pasar de negativo a positivo no bastaría con multiplicar por -1?

Topper

 si el número que vas a convertir es positivo no puedes multiplicar por -1

LC0

 ¿Por qué no calculas el valor absoluto del número negativo, y ya esta?

Douch

 
Cita de: "Topper"si el número que vas a convertir es positivo no puedes multiplicar por -1
touché!!  :D  

[EX3]

 
Cita de: "LC0"¿Por qué no calculas el valor absoluto del número negativo, y ya esta?
Cita de: "[EX3"]Pasar un numero negativo a positivo:
a = -12

MsgBox Abs(a)
Abs() devuelve el valor absoluto de un numero.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

zupervaca

 el signo de un numero se guarda en el bit mas alto, no se si en basic se puede tener acceso a bits, pero con poner a 1 este bit ya tienes un numero negativo siempre

saludo

Mars Attacks

 Eso depende de la representación que estés usando (Complemento a 1, complemento a 2, complementos sexys...).

También puedes hacerlo de la forma difícil, con un "if a<0 then b=-1 else b=1; a=a*b;".

CoLSoN2

Cita de: "Topper"si el número que vas a convertir es positivo no puedes multiplicar por -1
Aún a riesgo de parecer un idiota, porque nadie lo pregunta.. ¿por qué? Supongo que será en caso de que estés usando un tipo de dato "unsigned", pero si es un int normal no creo que tengas problemas..  ¿o es alguna paranoya de Visual Basic?
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Mars Attacks

 Porque si es positivo y lo multiplicas por -1, no estás obteniendo su valor absoluto...
(No es que no "puedas", es que si haces eso, no llegas al resultado que quieres ;))

zupervaca

 mars dejate de complementos y hazme caso que en el pc es asi ;)

Anathoni

 Esto de los bits, complementos... me recuerda a la facultad  :ph34r:

Lo de multiplicar por -1 depende si das por supuesto que los únicos números que recibes son negativos. De todas formas y para quitarse de problemas tontos lo mejor es valor absoluto
url=http://www.anathoni.com/]Blog de Anathoni[/url]

Pogacha

 zupervaca, lo que dices es falso ...
signed char(11111111b) = -1
signed char(01111111b) = 127
El metodo utilizado para la representación de numeros negativos utilizado en la pc por intel y compania es el complemento a 2, busca info sobre ella.

Y apoyo lo de colson, ya que el se animo a decirlo, el tipo pregunto por convertir negativos a positivos, lo cual se hace multiplicandolos por -1 o simplemente con la reasignacion y uso del operador signo, a = -a sobraba, si la pregunta hubiera sido obtener el valor absoluto era otra cosa...

Saludos.

zupervaca

Cita de: "Pogacha"zupervaca, lo que dices es falso ...
signed char(11111111b) = -1
signed char(01111111b) = 127
El metodo utilizado para la representación de numeros negativos utilizado en la pc por intel y compania es el complemento a 2, busca info sobre ella.

Y apoyo lo de colson, ya que el se animo a decirlo, el tipo pregunto por convertir negativos a positivos, lo cual se hace multiplicandolos por -1 o simplemente con la reasignacion y uso del operador signo, a = -a sobraba, si la pregunta hubiera sido obtener el valor absoluto era otra cosa...

Saludos.
pogacha es que no te enteras de lo que escribo, acabas de poner lo que yo digo y luego dices que lo que pongo es falso, la verdad es que no entiendo a que viene esto, el bit mas alto define el signo del numero, en el ejemplo que has puesto es asi, ¿por que dices que miento? aclarate tio






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.