por
pobrecito hablador
el Martes, 09 Marzo de 2010, 08:00h
(#1207752)
Lo de los booleanos sí que fue uno de los temitas que me costó en C, en efecto al hacer un and, un or o un xor aritmeticos no es lo mismo en c que hacerlos logicos, es decir && != &, || != | y ^^ | ^
El problema es que cuando quieres utilizar el resultado de los operadores aritméticos para un if, pues cualquier número distinto de 0 es verdadero, lo normal es que uses los operadores lógicos pero bueno la forma más rápida de convertir un número en un booleano creo que es a través del módulo, por ejemplo 1 % 2 da 1 (true), 2 % 2 da 0 (false) 3 % 2 da 1 (true) y así sucesivamente, obteniéndose el resultado equivalente a otros lenguajes de programación.
Yo no veo el mayor problema de C aquí, basta con saber un poco de aritmética y lógica para solucionarlo, si no que para mí son las cadenas de caracteres lo más desagradable del lenguaje (no tanto en C++) creo que las cadenas de caracteres de C son manifiestamente mejorables.
lo normal es que uses los operadores lógicos pero bueno la forma más rápida de convertir un número en un booleano creo que es a través del módulo, por ejemplo 1 % 2 da 1 (true), 2 % 2 da 0 (false) 3 % 2 da 1 (true) y así sucesivamente, obteniéndose el resultado equivalente a otros lenguajes de programación.
Tengo curiosidad, no entiendo qué es lo que estáis intentando conseguir.
Da un poco igual que la representación sea la de un número igual o distinto de cero, da igual el número que sea el true, puedes igualmente hacer asignaciones, comparaciones, ponerlo en un if, aplicarle operadores lógicos. ¿Qué mas da que sea un 1, un 2 o un 3?
Imagino que cuando insistís será porque en determinado problema importa, pero me gustaría saber cuál.
Temita
(Puntos:1, Inspirado)El problema es que cuando quieres utilizar el resultado de los operadores aritméticos para un if, pues cualquier número distinto de 0 es verdadero, lo normal es que uses los operadores lógicos pero bueno la forma más rápida de convertir un número en un booleano creo que es a través del módulo, por ejemplo 1 % 2 da 1 (true), 2 % 2 da 0 (false) 3 % 2 da 1 (true) y así sucesivamente, obteniéndose el resultado equivalente a otros lenguajes de programación.
Yo no veo el mayor problema de C aquí, basta con saber un poco de aritmética y lógica para solucionarlo, si no que para mí son las cadenas de caracteres lo más desagradable del lenguaje (no tanto en C++) creo que las cadenas de caracteres de C son manifiestamente mejorables.
Re:Temita
(Puntos:2)( http://press.asqueados.net/ | Última bitácora: Jueves, 17 Abril de 2014, 09:50h )
Tengo curiosidad, no entiendo qué es lo que estáis intentando conseguir.
Da un poco igual que la representación sea la de un número igual o distinto de cero, da igual el número que sea el true, puedes igualmente hacer asignaciones, comparaciones, ponerlo en un if, aplicarle operadores lógicos. ¿Qué mas da que sea un 1, un 2 o un 3?
Imagino que cuando insistís será porque en determinado problema importa, pero me gustaría saber cuál.
Envíos descartados por Mu [barrapunto.com]