C sharp - Tipos de Datos

 
Vista:

Tipos de Datos

Publicado por edcha (13 intervenciones) el 04/10/2006 06:17:02
Soy nuevo en C# y nesecito ayuda
Alguien me podria decir por que estas dos formas de poner este codigo da resultados diferentes

Aqui da como resultado una fracción
float hF = 195 * 6;
hF = (hF / 255) -1;

Aqui da como resultado un entero
float hF;
hF = ((195 * 6) / 255)) -1;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tipos de Datos

Publicado por fisa (87 intervenciones) el 04/10/2006 19:06:42
Para que de bien en el segundo caso, tenes que hacer esto:

float hF;
hF = ((195f * 6f) / 255f) -1f;

Fijate que al lado de cada numero hay una "f", esto le indica al compilador que se trata de un numero del tipo float.
La explicacion es sencilla:
Cuando uno pone numeros sueltos (no contenidos en una variable), el compilador los trata como el tipo numerico por default: integer (enteros).
Cuando se operan numeros, sea de variables o "sueltos", el tipo de dato que devolvera la operacion se define por:
- en primer lugar: que tipo de datos es la variable que recibe el resultado
- en segundo lugar: que tipo de datos son los operandos
En tu ejemplo, en el segundo caso, la operacion ((195 * 6) / 255) no es una operacion que directamente se le asigne a la variable hf, sino que sera un resultado que se mantendra en memoria para operarlo con otras cosas. Por ello el primer criterio no sirve para saber si el resultado tiene que ser un entero, un floar, o cualquier otro, porque no hay una variable que vaya a reibir ese resultado especifico...
De esta manera, entra en juego el segundo criterio, que es el tipo de datos de los operandos. Esos operandos son numeros, no variables, y si no especificamos que son float (poniendoles una f al final) se toma como que son integer, el tipo de dato predeterminado. Consecuencia: el resultado de la operacion debera ser un integer.
Por ello esa primer parte devolvera 4 entero, y luego al restarle 1 da 3.
Espero haber sido claro, cualquier duda, pregunta
Suerte!
Bye!

Fisa
Correo: [email protected]
MSN: [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tipos de Datos

Publicado por edcha (13 intervenciones) el 05/10/2006 01:29:06
Muchas Gracias fue de gran ayuda

solo un asunto mas:

Para los demas tipos que letra uso ¿La primera de cada tipo?

Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar