asp ,ip位址分段計算
在vbs中沒有位操作,這樣在乙個頁面中用到了js和vbs,並不好,如果用vbs也可以,不過羅嗦了一些,而且有一點注意,如果在vbs中split("202.102.29.6",","),會得到202,102,29三個數,得不到最後乙個6,所以需要將ip換成split("202.102.29.6" & ".",",")
我用vbs做的,由於沒有位操作,所以做得比較麻煩
<%
function ip2int(ipstr)
dim iptemp,max
iptemp = split(ipstr&".",".")
max = ubound(iptemp)
if max <> 4 then
exit function
end if
dim a,b,i
a = "&h"
for i = 0 to 3
b = hex(iptemp(i))
if len(b) = 1 then
b = "0"&b
end if
a = a&b
next
ip2int = clng(a)
end function
function int2ip(ip)
dim iptemp,a,ipstr,i,length
iptemp = hex(ip)
length = 8 - len(iptemp)
for i = 1 to length
iptemp = "0" & iptemp
next
a = left(iptemp,2)
a = "&h" & a
i = cint(a)
a = cstr(i)
ipstr = a & "."
a = mid(iptemp,3,2)
a = "&h" & a
i = cint(a)
a = cstr(i)
ipstr = ipstr & a & "."
a = mid(iptemp,5,2)
a = "&h" & a
i = cint(a)
a = cstr(i)
ipstr = ipstr & a & "."
a = right(iptemp,2)
a = "&h" & a
i = cint(a)
a = cstr(i)
ipstr = ipstr & a
int2ip = ipstr
end function
dim testip,testint
testip="202.102.29.6"
testint = ip2int(testip)
response.write testip & " will be encoded to " & testint & "
"response.write testip & " will be dencoded to " & int2ip(testint) & "
"%>
關於cpu分段的段位址計算
微機原理 這本課程學過,不過後來我忘記了。今天覆習的時候,作為學渣的我解了好大乙個疑惑。書上說,8086cpu有16位的資料匯流排和20位的位址匯流排。所以,為了能讓16位的cpu能夠驅動20位的記憶體,採用了分段的形式。原理和內容都在這裡,不詳細展開了 我們知道段暫存器是16位的,16為的ip指標...
位址對映 分段分頁
linux核心採用頁式儲存管理。虛擬位址空間劃分成固定大小的 頁面 由mmu將虛擬位址對映成某個物理記憶體頁面中的位址。一 三種不同的位址 邏輯位址經分段機制後就成線性位址 如果不啟用分頁,那麼此線性位址和實體地址相同。線性位址經分頁轉換後就成了實體地址。二 分段 1 段選擇符和段暫存器 index...
IP位址分類和分段
ip位址是由32位二進位制數字構成,採用 點分十進位制 方法表示的唯一位址。通常區分如下 1 五類ip 2 特殊用途的ip 3 私有ip 1 五類ip 也就是說,分為以下幾類 a 0.0.0.0 127.255.255,其中段0和127不可用,可用位址範圍1.0.0.0.127.255.255.25...