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 »

Zaelsius

 Si no escribís los números en big-endian no os entiendo XD

zupervaca

 ya el mac y el amiga es diferente al pc, pero es que en pc es asi como yo digo, la verdad es que ultimamente la gente postea sin saber nada

Pogacha

 
Citarla verdad es que ultimamente la gente postea sin saber nada

No es necesario subir el tono de esa manera.  :blink: , vamos que todos pateamos para el mismo lado, si me equivoco corregime y te lo agradeceré, la idea no es demostrar conocimiento (por si se malentendio lo que dije) sino ayudar en un foro  :lol:

Que el ultimo bit indica el signo tienes razón, pero no es lo que discuto ...

Citarel 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

Con poner el ultimo bit a 1 no solucionas el problema.
Hagamos este experimento: (no tengo un compilador aqui para probarlo).

void main()
{
int a = 1;  // esto es 1
int b = -1; // esto es -1

a |= (1<<15); // pongo a 1 el ultimo bit como tu pides ...

if(a == b) printf( "pogacha se equivoco y te pide disculpas");
 else  printf( "Todo bien");
}


Te pido disculpas si malentendi lo que dijiste o me expresé de forma incorrecta.
No tengo la mas minima intención de discutir, lo mas probable es que te halla mal interpretado o te hallas confundido al escribir.

Saludos.

zupervaca

 si lees detenidamente mi frase no digo que con poner a 1 el bit mas alto te de el valor negativo del numero positivo que contenia, digo que si estableces el bit mas alto a 1 el numero que contiene siempre sera negativo, esto lo puse para aclararle que en cualquier caso siempre sucede asi, mientras el bit mas alto sea 1 el numero siempre sera negativo

en efecto esto no es demostrar quien tiene mas conocimientos, pero creo que yo no lo estoy haciendo, ayudo a la persona a idear un sistema optimizado para convertir numeros con o sin signo a positivos, siempre es mas rapido comprobar un bit que si un numero es mayor o menor a cero

Pogacha

 Ok, supongo entonces que te malentendi, lo apropiado hubiera sido pedirte que me aclares lo que escribiste, te pido disculpas, no era mi intención hacerte enojar u ofenderte ni mucho menos.
Saludos.

fiero

Cita de: "zupervaca"si lees detenidamente mi frase no digo que con poner a 1 el bit mas alto te de el valor negativo del numero positivo que contenia, digo que si estableces el bit mas alto a 1 el numero que contiene siempre sera negativo, esto lo puse para aclararle que en cualquier caso siempre sucede asi, mientras el bit mas alto sea 1 el numero siempre sera negativo

en efecto esto no es demostrar quien tiene mas conocimientos, pero creo que yo no lo estoy haciendo, ayudo a la persona a idear un sistema optimizado para convertir numeros con o sin signo a positivos, siempre es mas rapido comprobar un bit que si un numero es mayor o menor a cero
Reconoce que te has equivocado con lo del bit del primer post XD...  Rectificar ahora es lo mismo que si por ejemplo: El tio pregunta como convertir una imagen a jpg y tú le respondes que los bmps son ficheros muy bonitos.

La segunda frase, mentira podrida. El tiempo en comparar si un número es negativo, o si es mayor que otro, es el mismo o menor, que el de ver de qué color es un bit, para lo que habría que hacer una máscara o un desplazamiento. Si no haz la prueba en ensamblador.

fla meando....
www.videopanoramas.com Videopanoramas 3D player

_Grey

 MADE IN STRATOS!!!!!


jjajajajajaa!!  :lol:  :lol: no me he podido resistir, pero estas bueltas de turca solo ocurren aqui  :lol:  :lol:  

Ithaqua

Cita de: "zupervaca"mientras el bit mas alto sea 1 el numero siempre sera negativo
Lo que te tratan de decir es que eso no es cierto :)
thaqua^Stravaganza
http://ithaqua.stravaganza.org

[EX3]

 
Cita de: "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
Se puede trabajar a nivel de bit en VB pero es algo engorroso y para este caso en concreto tardas menos obteniendo el valor absoluto mediante Abs() que modificando los bits de la variable.

Cita de: "_Grey"MADE IN STRATOS!!!!!


jjajajajajaa!!  :lol:  :lol: no me he podido resistir, pero estas bueltas de turca solo ocurren aqui  :lol:  :lol:
Eso lo hace unico al resto de foros de la red, a veces pienso que esto le da vida al foro xDDD

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

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

CoLSoN2

Cita de: "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 ;))
Ah, leyendo el título del thread pensaba que buscaba una forma de cambiar de signo. Aún así, este me parece uno de los threads más poco útiles de la historia de Stratos xD
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

MA]Mestre

Cita de: "zupervaca"digo que si estableces el bit mas alto a 1 el numero que contiene siempre sera negativo, esto lo puse para aclararle que en cualquier caso siempre sucede asi, mientras el bit mas alto sea 1 el numero siempre sera negativo
No siempre es cierto.

Por cierto, creo que es un buen momento para introducir el tema de si el 0 es positivo o negativo. xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

TheAzazel

 Vaya tela de thread....

como algo tan sencillo como convertir un numero negativo en positivo puede terminar de este modo????


jajaja, yo me parto!  (ole)  

CoLSoN2

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

tewe76

 Si es un bit de paridad, huele a hembra, ¿no?

(Puestos a degenerar el hilo :D)
Tewe
www.TAPAZAPA.com : Funny and easy to play games for all ages! - Fairy Match - Brain Crash
www.LaRebelionDelBiberon.com : Experiencias de unos padres primerizos

zupervaca

 bueno entonces es falso lo que digo, y voy a rectificar

cuando el bit mas alto esta a 1 no es siempre un numero negativo, ademas si pones siempre a 1 el bit mas alto no siempre es negativo ¿os gusta mas asi la frase?

pd: aunque sea falsa esa afirmacion me da igual con tal de no aguantar a gente que no sabe leer, ya me paso algo parecido con otro usuario que decia que en c-sharp las clases no son objetos y se lo tuve que demostrar dandole un link donde hay un tutorial bastante extenso para aprender c-sharp, me encanta ver que la gente no tiene ni idea de programar, otra cosa, comprobar un bit es muchisimo mas rapido que comprobar contra cero u otro numero por que si no todas las rutinas graficas de la historia han sido un engaño






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.