浮点数float转为int类型数据

int float_to_int(float f)
{ 
    int *p = (int *)&f; 
    int temp = *p; 
    int sign= -1;              //判断符号位 
    if((temp & 0x80000000) == 0) 
    {  
    sign = 1; 
    } 
    int exp = (((temp >> 23) & 0x000000FF) - 127);//求出指数位 
    int tail = (temp & 0x007FFFFF) | 0x00800000;//求出尾数位  
    int res  = tail >> (23 - exp);              //求出有效数字 
    return sign * res;                          //返回整数
}
发布了4 篇原创文章 · 获赞 0 · 访问量 51
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览