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;
#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
- makefile 学习之__fls 测试
- OCI学习之 Makefile
- 学习vc之makefile
- makefile学习之二
- uboot之makefile学习
- Makefile学习之概述
- Makefile学习之wildcard
- uboot之makefile学习
- makefile学习之入门
- linux之makefile学习
- makefile学习之旅
- makefile学习之旅
- uboot之Makefile学习
- 学习笔记之Makefile
- Makefile学习之Makefile的规则
- Makefile学习之makefile中使用变量
- Makefile学习之另类风格的makefile
- Makefile学习之Makefile 总述
- oracle储存过程
- python面试题大全(二)
- 最大子序列求解及分治算法的一些例子
- windows下安装Python的IPy模块
- Harris角点检测算法详解
- makefile 学习之__fls 测试
- Hibernate中一级缓存和二级缓存使用详解
- tensorflow 输出pre_trained模型网络层名称以及数据
- iOS 经典题库
- 牛腩(10)-asp.net 控件实现局部动态刷新
- Volley使用详解
- 研究生生活一
- TCP传输机制三次握手四次挥手
- ajax 做登录 实现页面免刷新