人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

10進位與其它進位數互換的函數

10進位與其它進位數互換的函數

更新時間:2022-07-03 文章作者:未知 信息來源:網絡 閱讀次數:

好象這兩天論壇里有幾個都是有關不同進位數之間的互換問題,今天有空就給大家寫兩個函數出來,希望能拋磚引玉。
這兩個函數可以使 [小于36進位的數] 和 [十進位數]相互轉換,從而使得[小于36進位數]的不同進位數間實現轉換,現將它們寫在下面:

<%
'說明:合并使用和以轉化不同位數之間的轉化



'****************** 轉換成十進位函數 ******************

'--------------說明部分--------------------------------
'[功能] 小于36進位的數 ---轉換成---> 十進位 的函數
'[說明]
'Binary 是原數,十進位以上的數一定要是字符串,其它的都可以。
'H 是原數的進位值。
'引用 Decimal(Binary,H)

'--------------函數部分--------------
function Decimal(Binary,H)
'分解成整數和小數兩部分來分別處理
L = Split(Binary,".")
For i = 0 to Ubound(L)
For ii = 1 to Len(L(i))
'處理整數部分
Power = ii-1
cLen = Len(L(i))-ii+1
'處理小數部分
If i = 1 then
Power = -ii
cLen = ii
End if
'取得位數值
Bin = Mid(L(i),cLen,1)
'處理10進以上進位
if isNumeric(Bin) = False then
Bin = Asc(UCase(Bin))-55
end if
'逐位冪運算并累加結果
Dec = Dec + Bin*H^(Power)
Next
Next
'輸出最終值
Decimal = Dec
end function



'--------------例子1--------------------
'例子1 (二進位轉換成十進位):
Num = 1011.01 '原數
H = 2 '原來的進位數
Response.Write Decimal(Num,H) '引用函數
'輸出結果是 11.25 (十進位)

'--------------例子2--------------------
'例子2 (十六進位轉換成十進位):
Num = "a0.8" '原數
H = 16 '原來的進位數
Response.Write Decimal(Num,H) '引用函數
'顯示結果是 160.5 (十進位)







'****************** 轉換成其它進位 ******************

'--------------說明--------------------------------
'[功能:]十進位 ---轉換成---> 小于36進位的數 的函數
'[說明:]
'Decimal是原數,十進位以上的數是以字符串形式輸出。
'H 是原數的進位值。
'H2 是轉化后的數精確到小數點后幾位。
'引用 Binary(Decimal,H,H2)



'--------------函數部分----------------------------
function Binary(Decimal,H,H2)
L = Split(Decimal,".")
Z = cInt(L(0))
For i = 0 to Ubound(L)
'===========處理整數部分==========
IF i = 0 THEN
Z1 = Z
if Z1 < H then
Dec1 = Z
if Z1 > 9 then
Dec1 = Chr(Z1+55)
end if
else
ii = 1
Do While Z1 > 0
X1 = Z1 Mod H
if X1 > 9 then
X1 = Chr(X1+55)
end if
Dec1 = cStr(X1) & Dec1
Z1 = Fix(Z1/H)
ii = ii+1
Loop
end if
'==========處理小數部分==========
ELSE
Z = Decimal-Z
For ii = 1 to H2
X = Fix(Z*H)
Z = Z*H - X
if X > 9 then
X = Chr(X+55)
end if
Dec2 = Dec2 & cStr(X)
Next
Dec2 = "."& cStr(Dec2)
END IF
Next
Binary = Dec1 & Dec2
end function




'--------------例子1--------------
'原數是十進位的160.6640625要轉化成十六進位
Numb = 160.6640625 '原數
H = 16 '要轉化成的進位數
H2 = 2 '轉化后精確到小數點后幾位
Response.Write Binary(Numb,H,H2) '引用函數
'顯示結果是 a0.aa (十六進位)

'--------------例子2--------------
'原數是十進位的11.25要轉化成二進位
Numb = 11.25 '原數
H = 2 '要轉化成的進位數
H2 = 2 '轉化后精確到小數點后幾位
Response.Write Binary(Numb,H,H2) '引用函數
'顯示結果是 1011.01 (二進位)
%>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 集安市| 麻栗坡县| 鄂尔多斯市| 东宁县| 来凤县| 嘉善县| 平果县| 洛阳市| 台州市| 哈密市| 五华县| 高唐县| 浙江省| 衡阳县| 凤城市| 尼木县| 根河市| 闸北区| 聊城市| 越西县| 神木县| 阜平县| 晋城| 金平| 阿瓦提县| 蓝山县| 辽阳县| 崇义县| 额尔古纳市| 宜都市| 彝良县| 江川县| 攀枝花市| 光山县| 乌海市| 伊宁县| 阳新县| 阳高县| 项城市| 莎车县| 东阳市|