Thanks for your answer! Actually it almost worked! %lu prints 3354000128 instead of 3354000112. %lx prints c7e9fb00 which is 3354000128 hex. This can drive you crazy! Any ideas please?
On Thu, Aug 18, 2011 at 12:58 AM, Michael Schippling <[email protected]>wrote: > That is a little odd... > > I guess the implicit casting is trying to help you by > returning the largest value for the uint16 when converting > from a too-big float. When you change to uint32 you > should get 0xC7E9FAF0 in your integer (which is what > my Widows calculator shows as the correct conversion > for decimal 354000112). Then, because the top bit is > set and you asked for a signed decimal output "%ld" > you should get a negative value, but it's off by 16... > -940967168d == 0xC7E9FB00 > so I'm not sure what is going on. > > Try printing %lu or %lx and see what you get. > > MS > > Geo Gkolfin wrote: > >> Hello! >> >> I am using telosb motes and tinyos-2.1.0. I have an application in which >> some floating point operations are done and I wish to print (using >> PrintfClient) only the decimal part of the result. Since the printed value >> is not what it should be -it is always 65535- I wrote a simple program where >> I have: >> >> float y; >> uint16_t x; >> >> y=4354.542134509; >> x=y; >> printf("int(4354.542134509)=%**u\n",x); >> printfflush(); >> >> I run >> java net.tinyos.tools.PrintfClient -comm serial@/dev/ttyUSB0:telosb >> >> and I get the 4354! >> >> If I change the value stored in y to: >> y=3354000112.542134509 then the printf returns 65535 -the same value as in >> my application! So I guess this is because the value does not "fit" into a >> uint16_t. I change x definition to uint32_t and %u to %ld (make is okay with >> that), but then the printed value is -940967168! >> What is the problem? >> >> Thanks in advance, >> Georgia >> >> >> ------------------------------**------------------------------** >> ------------ >> >> ______________________________**_________________ >> Tinyos-help mailing list >> Tinyos-help@millennium.**berkeley.edu<[email protected]> >> https://www.millennium.**berkeley.edu/cgi-bin/mailman/** >> listinfo/tinyos-help<https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help> >> >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
