国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

一個很有用的自定義函數(判斷自然數是否包含2的指定次冪)

2024-07-21 02:05:39
字體:
來源:轉載
供稿:網友

/*           name :    fun_wheincluded           function :   判斷選定的數字是否在給定的整數中           可以知道任何一個自然數都可以拆分成若干個2的冪的和,如:                1 = 2^0                2 = 2^1                3 = 2^0 + 2^1                4 = 2^2                5 = 2^0 + 2^2                6 = 2^1 + 2^4                7 = 2^0 + 2^1 + 2^2                8 = 2^3                9 = 2^0 + 2^3                10 = 2^1 + 2^3                11 = 2^0 + 2^1 + 2^3                12 = 2^2 + 2^3                13 = 2^0 + 2^2 + 2^3                14 = 2^1 + 2^2 + 2^3                15 = 2^0 + 2^1 + 2^2 + 2^3                16 = 2^4                17 = 2^0 + 2^4         將任意一個數解析為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
注冊會員,創建你的web開發資料庫,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汾西县| 丰宁| 五台县| 锦屏县| 麦盖提县| 苏尼特左旗| 山阴县| 赞皇县| 阿瓦提县| 西安市| 济阳县| 文山县| 喀什市| 临泽县| 城市| 河北区| 宜城市| 宣恩县| 南宁市| 胶南市| 榕江县| 资溪县| 晋州市| 普宁市| 安平县| 镇赉县| 洞头县| 德钦县| 望谟县| 宜君县| 峨眉山市| 泽库县| 西和县| 宽甸| 谢通门县| 伊通| 景谷| 翼城县| 营口市| 缙云县| 潞西市|