zoukankan      html  css  js  c++  java
  • 有用的小程序的总结

    1.幂函数

    //m^n函数
    u32 mypow(u8 m,u8 n)
    {
    u32 result=1;  
    while(n--)result*=m;    
    return result;
    }

    2.同事写的浮点转字符串函数

    /************************************************************************/
    /* 输入参数d 输入float数据
    dlen 输入的数据的小数点位数
    buf 转换后输出的数组地址
    clen buf的大小


    调用方式 my_dtoa(12.56, 2,buf , sizeof(buf));        */
    /************************************************************************/

    int my_dtoa(double d,char dlen,char* buf,char clen)
    {
    #define ARRLEN 10
    char m_arr[]={'0','1','2','3','4','5','6','7','8','9'};
    char tmpArr[ARRLEN]={0};
    char* ptmp=tmpArr;


    int nZS=0;
    double dXS=0;
    double dtmp=d;
    char i=0;


    if (d<0)
    {
    dtmp=-d;
    clen--;
    }
    nZS=(int)dtmp;
    dXS=dtmp-nZS;
    if (nZS==0)
    {
    *ptmp++=0;
    ++i;
    }
    else
    {
    while(nZS!=0)
    {
    if (++i>clen)
    {
    return -1;
    }
    *ptmp++=nZS%10;
    nZS/=10;
    }
    }
    if (clen<=i+dlen+1)
    {
    return -1;
    }
    ptmp=buf;
    if (d<0)
    {
    *ptmp++='-';
    }
    while(i--)
    {
    *ptmp++=m_arr[tmpArr[i]];
    }
    if (dlen==0)
    {
    return 0;
    }
    *ptmp++='.';
    for (i=0;i<dlen;i++)
    {
    dXS*=10;
    *ptmp++=m_arr[(int)dXS];
    dXS-=(int)dXS;
    }
    return 0;
    #undef ARRLEN
    }

    3:按键扫描函数

    //键盘扫描程序
    U8 Key_Scan(void)
    {
    static U8 key_up=1;
    U8 KeyTemp;
    if (key_up&&(P0&0xff)!=0xff)
    {
    key_up=0;
    delay_ms(10);
    KeyTemp=P0&0xff;
    KeyTemp^=0xff;
    return KeyTemp;
    }
    else if((P0&0xff)==0xff) 
    {
    key_up=1;
    return 0;
    }
    else return 0;
    }

    待续......

  • 相关阅读:
    在CentOS 6上安装Apache和PHP
    花10分钟看一看,少走30年的弯路
    IOS开发之UITabBarController与UINavigationController混合使用
    重构tableview!
    初学IOS之TableView
    关于mac下配置mysql心得
    类,对象,方法的
    shell脚本
    关于我
    机器学习&深度学习视频资料汇总
  • 原文地址:https://www.cnblogs.com/longbiao831/p/4556286.html
Copyright © 2011-2022 走看看