On Tue, Nov 22, 2016 at 4:39 PM, Greg KH <greg@xxxxxxxxx> wrote:
On Tue, Nov 22, 2016 at 04:05:18PM +0000, Lucas Tanure wrote:
> Hi,
>
> At some point my hardware gives me a 32bit IEEE-754 float, like this :
>
>
> regmap_read(device->regmap, ADDR0, &temp);
>
> value = temp << 16;
>
> regmap_read(device->regmap,ADDR1, &temp); Just print the upper 16 bits shifted right by 16 bits.
>
> value |= temp;
>
>
> So, value has a 32bit float now, and I would like to print just the integer
> part, like :
> Read 26.92387 --> Print 26.
> Simple, no float operations.
>
> How I can do it ?
But why would you want to print the value anyway? Who would use it?
My hardware gives me the board temperature as a float 32bits.
And the hwmon sysfs api asks me to return the temperature as millidegree Celsius.
To follow the hwmon sysfs api rules, I need to get my float, multiply by 1000 and print the integer part.
There is a better way to do that ?
thanks,
greg k-h
Thanks
Lucas Tanure
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies