• Arduino101学习笔记(八)—— 函数库


    /*********最小值*********/
    min()                     //实现:#define min(a,b)  ((a)<(b)?(a):(b))
    
    /*********最大值*********/
    max()                     //实现:#define max(a,b)  ((a)>(b)?(a):(b))
    
    /*********绝对值*********/
    abs()                     //实现: #define abs(x)  ((x)>0?(x):(-x))
    
    /*********调整到区间*********/
    //如果值 amt 小于 low, 则返回 low; 如果 amt 大于 high, 则返回 high; 否则, 返回 amt . 一般可以用于将值归一化到某个区间
    
    constrain()           //实现:#define constrain(amt, low, high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) 
    
    /*********等比映射*********/
    long map(long x, long in_min,long in_max,long out_min,long out_max);
    //将位于[in_min, in_max]之间的x映射到[out_min, out_max]. 参数: x 要映射的值 in_min 映射前区间 in_max 映射前区间 out_min 映射后区间 out_max 映射后区间
    
    /*********指数运算*********/
    double  pow (float base, float exponent);
    
    /*********平方运算*********/
    double  sqrt(double x)       //实现:    #define sqrt(x)  ((x)*(x))
    
    /*********三角函数运算*********/
    float sin(float rad);
    float cos(float rad);
    float tan(flaot rad);
    
    /*********随机数运算*********/
    void randomSeed(unsigned int seed);        //seed:随机种子
    long random(long howbig);                         //生成随机数,范围[0,howbig-1]
    
    /********位运算*********/
    #define  lowByte(w)   ((w) & 0xff)    //取低字节   
    #define  highByte(w)   ((w) >> 8)     //取高字节   
    #define  bitRead(value, bit)   (((value) >> (bit)) & 0x01)     //读一个bit   
    #define  bitWrite(value, bit, bitvalue)   (bitvalue ? bitSet(value, bit) : bitClear(value, bit))    //写一个bit
    #define  bitSet(value, bit)   ((value) |= (1UL << (bit)))    //设置一个bit   
    #define  bitClear(value, bit)   ((value) &= ~(1UL << (bit)))    //清空一个bit   
    #define  bit(b)   (1 << (b))    //生成相应bit
  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6056647.html
Copyright © 2020-2023  润新知