IEEE-754 Float to int

Greg KH greg at kroah.com
Tue Nov 22 11:39:59 EST 2016


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);
> 
> 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 ?

Just print the upper 16 bits shifted right by 16 bits.

But why would you want to print the value anyway?  Who would use it?

thanks,

greg k-h



More information about the Kernelnewbies mailing list