将任意一个数解析为2的幂的和的方法
来源:互联网 发布:dbc2000数据库对应 编辑:程序博客网 时间:2024/05/22 14:04
将任意一个数解析为2的幂的和的方法——递归 规律:
如给定 14
∵ 2^3 < 14 < 2^4
∴ 14中必有8——2^3 14 - 8 = 6
∵ 2^2 < 6 < 2^3
∴ 6中必有4——2^2 6 - 4 = 2
∵ 2 = 2
∴ 14 = 2^3 + 2^2 + 2^1
Parameters : @TotalNum Type: INT @SpecifiedNum Type: INT Steps : Author : Waxdoll Cheung Date : 2005-03-21*/
CREATE FUNCTION dbo.Fun_WheIncluded ( @TotalNum INT, @SpecifiedNum INT )RETURNS BIT AS BEGIN
DECLARE @varRet BIT
DECLARE @varLoop INT
SET @varLoop = 0
WHILE (@TotalNum >= CAST(POWER(2, @VarLoop) AS INT)) SET @varLoop = @varLoop + 1
SET @TotalNum = @TotalNum - CAST(POWER(2, @varLoop - 1) AS INT)
IF (@varLoop = @SpecifiedNum + 1) SET @varRet = 1 ELSE BEGIN IF (@TotalNum >= 1) RETURN dbo.Fun_WheIncluded(@TotalNum, @SpecifiedNum) ELSE SET @varRet = 0 END
RETURN @varRetEND
- 将任意一个数解析为2的幂的和的方法
- 将一个数表示成任意两个数的平方和
- 面试题:编写一个将十进制数转换为任意进制的算法或函数
- 将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
- 将十进制转换为任意进制的数
- 将一个数分解成多个素数和的方法数
- 求一个数组中的和为任意一个数的两个元素
- 将一个数分解为两个整数的和
- C语言 - 将任意一个数的奇数位逆序,组成新数
- C语言 - 水仙花数:判断一个任意大小的整数是否为水仙花数
- C++实现将十进制数转换为小于等于九的任意进制
- C语言 - 判断任意数的每位数是否为偶数【两种方法】
- 为Silverlight 提供将Json解析为Geometry的方法
- 为Silverlight 提供将Json解析为Geometry的方法
- 为Silverlight 提供将Json解析为Geometry的方法
- 任意一个数的二进制表示
- 判断任意一个数的奇偶性
- 用JAVA写一个函数,功能如下: 任意给定一组数, 找出任意数相加之后的结果为35(任意设定)的情况
- 兰博基尼Reventon单挑喷气式战斗机(图)
- C#读硬件系列号
- 可逆加密
- 农历
- 数据库备份
- 将任意一个数解析为2的幂的和的方法
- VS2005 常用快捷键
- 断开所有数据库连接
- SQL常用语句
- 新闻万花筒:暴富神话破灭 中国股民上了痛苦的一课
- Create WAP Push SMS Messages (From C# to JAVA)
- 好莱坞劳资纠纷时间表
- J2ME菜单的分页显示
- 说说对java中接口的理解