makefile 学习之__fls 测试

来源:互联网 发布:网络图书馆免费 编辑:程序博客网 时间:2024/06/01 20:44
#include <stdio.h>
#include<string.h>
#define BITS_PER_LONG 32
 unsigned long __fls(unsigned long word)
{
    int num = BITS_PER_LONG - 1;

    if (!(word & (~0ul << (BITS_PER_LONG-16)))) {
        num -= 16;
        word <<= 16;
               printf("word = [%d],num=[%d] (~0ul << (BITS_PER_LONG-16))=[%x]\n",word,num,(~0ul << (BITS_PER_LONG-16)));
    }
    if (!(word & (~0ul << (BITS_PER_LONG-8)))) {
        num -= 8;
        word <<= 8;
        printf("word = [%d],num=[%d] (~0ul << (BITS_PER_LONG-8))=[%x]\n",word,num,(~0ul << (BITS_PER_LONG-8)));
    }

    if (!(word & (~0ul << (BITS_PER_LONG-4)))) {
        num -= 4;
        word <<= 4;
        printf("word = [%d],num=[%d] (~0ul << (BITS_PER_LONG-4))=[%x]\n",word,num,(~0ul << (BITS_PER_LONG-4)));
    }
    if (!(word & (~0ul << (BITS_PER_LONG-2)))) {
        num -= 2;
        word <<= 2;
        printf("word = [%d],num=[%d] (~0ul << (BITS_PER_LONG-2))=[%x]\n",word,num,(~0ul << (BITS_PER_LONG-2)));
    }
    if (!(word & (~0ul << (BITS_PER_LONG-1))))
    {
        num -= 1;
        printf("word = [%d],num=[%d] (~0ul << (BITS_PER_LONG-1))=[%x]\n",word,num,(~0ul << (BITS_PER_LONG-1)));
    }

    return num;
}

int main(int argc, char **argv)  
{  
        printf("fls = [%d]\n",__fls(0X1010));  
        printf("aa = [%x]\n",~0ul);
        return 0;  

 } 


makefile 如下:加了一个新文件Makefile。填入下面的内容,然后输入make就可以编译了

test:he.c
    gcc  he.c -o hello


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一级消防工程师论坛 注册消防工程师考试难度 一级消防工程师考试题型 注册二级消防工程师 注册消防工程师论坛 一级注册消防工程师教材 注册消防工程师报名 二级消防工程师考试科目 消防工程师报考条件二级 二级注册消防工程师报考条件 一级注册消防工程师论坛 二级消防工程师好考吗 一级注册消防工程师招聘 注册消防工程师难考吗 考一级消防工程师有用吗 消防工程师难度 一消防工程师 一级消防工程师考试难度 一级消防工程师好考吗 消防工程师待遇 注册消防工程师一级二级区别 一级注册消防工程师好考吗 注册消防工程师好不好考 一级消防工程师难度 二级注册消防工程师考试科目 二级消防考试时间 一级消防工程师招聘 陕西二级消防工程师报名时间 2017消防工程师考试时间 消防工程师代报名 消防技术综合能力 一级注册消防工程师报考条件 河北二级消防工程师报名时间 二级消防工程师报名条件 消防员考试报考条件 消防技术实务 一级注册消防工程师报名时间 消防安全工程师考试时间 消防注册工程师报考条件 2017一级消防工程师报名时间 二级消防考试科目