ffs.c

来自「开发snmp的开发包有两个开放的SNMP开发库」· C语言 代码 · 共 39 行

C
39
字号
/*	$OpenBSD: ffs.c,v 1.7 2005/08/08 08:05:37 espie Exp $	*//* * Public domain. * Written by Dale Rahn. *//* * ffs -- vax ffs instruction */int_ffs(int mask){	int bit;	unsigned int r = mask;	static const signed char t[16] = {		-28, 1, 2, 1,		  3, 1, 2, 1,		  4, 1, 2, 1,		  3, 1, 2, 1	};	bit = 0;	if (!(r & 0xffff)) {		bit += 16;		r >>= 16;	}	if (!(r & 0xff)) {		bit += 8;		r >>= 8;	}	if (!(r & 0xf)) {		bit += 4;		r >>= 4;	}	return (bit + t[ r & 0xf ]);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?