Autor Tema: Un float de C en VB  (Leído 8668 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado redep

  • PIC12
  • **
  • Mensajes: 75
Un float de C en VB
« en: 04 de Febrero de 2009, 06:08:08 »
Hola estoy trabajando con una comunicacion C y visual basic en ce trabajo con numeros float, que tiene un rango de 2–126 ≈ 1.17549435e - 38 2128 * (2-2–15) ≈ 6.80564693e + 38, en cambio con visual basic al no existir este tipo de datos trabajo con single con un rango de,-3,402823E38 a –1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos.


Para la mayoria de las variables no pasa nada ya que son positivas y no tiene porque funcionar mal, pero a la hora de los numeros negativos, no funcionara correctamente no?

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Un float de C en VB
« Respuesta #1 en: 04 de Febrero de 2009, 12:32:40 »
Como que en VB no hay tipo float? Basta con declarar una variable como "dim num as float" y listo.
Suerte!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Un float de C en VB
« Respuesta #2 en: 04 de Febrero de 2009, 17:55:31 »
Como que en VB no hay tipo float? Basta con declarar una variable como "dim num as float" y listo.

No se donde sacaste eso Gera pero te aseguro que Float no es un tipo de datos en Visual Basic.

redep, estoy casi seguro que el tipo de datos float en C no esta implementado de la misma forma que el Single de VB. La forma mas segura de convertir un float de C a VB es realizar una funcion que extraiga el float en forma de bytes y separe la mantisa y el exponente, luego, con algunas operaciones puedes armar el numero y guardarlo en una variable Single.
No se que formato de coma flotante estas utilizando, pero yo tengo por ahi guardado unas funciones hechas en VB para pasar del float de Microchip a una variable single y viceversa, si es que te sirven.

Saludos.
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Un float de C en VB
« Respuesta #3 en: 04 de Febrero de 2009, 19:15:05 »
No hay un formato numerico que se adapta al tipo numerico que traen las variables??
Yo no me acuerdo como se llama pero creo que existe... :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Un float de C en VB
« Respuesta #4 en: 04 de Febrero de 2009, 20:07:27 »
 :oops: Mil perdones, tienen razon. No hay float en VB. Sera q me confundi de tantos q no programe mas en VB

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Un float de C en VB
« Respuesta #5 en: 04 de Febrero de 2009, 20:33:30 »
Creo que se llama Variant... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Un float de C en VB
« Respuesta #6 en: 18 de Abril de 2009, 14:51:18 »
Ehhh...cómo que no?

En VB6 tenés el Single y el Double(usá el double ya que es más rápido y preciso que el single en lo posible).

El Variant es algo completamente distínto. El Variant permite que el VB reserve 16 bytes(lento) pero admite cualquier tipo de variable. Esto lo hace muy dinámico pero costoso en tiempos de procesado.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.


 

anything