當前位置:編程學習大全網 - 網站源碼 - 用LUA做壹個MAC地址加壹的算法

用LUA做壹個MAC地址加壹的算法

可以先轉換為十進制?進行加減操作後?再轉換回十六進制即可

封裝的兩個函數:

1、string.split用於分割字符串,傳入要分割的字符串和分隔符,返回分割後的table

2、add_mac_address用於計算mac地址增加後的值,傳入要計算的mac地址和步進,返回計算結果

(註意:未考慮超過255後進位問題,留著妳自己思考吧,O(∩_∩)O~)

具體代碼如下:

function?string.split(str,?delimiter)

if?str==nil?or?str==''?or?delimiter==nil?then

return?nil

end

local?result?=?{}

for?match?in?(str..delimiter):gmatch("(.-)"..delimiter)?do

table.insert(result,?match)

end

return?result

end

function?add_mac_address(mac_addr,step)

if?mac_addr==nil?or?string.find(mac_addr,':')==nil?or?#string.split(mac_addr,':')~=6?or?tonumber(step)==nil?then

return?nil

end

local?mac_addr_tb=string.split(mac_addr,':')

local?mac_addr_new_tb={}

for?k,v?in?pairs(mac_addr_tb)?do

if?k==6?then

dec_num=tonumber('0x'..mac_addr_tb[6])+tonumber(step)

else

dec_num=tonumber('0x'..mac_addr_tb[k])

end

mac_addr_new_tb[k]=string.format("%02x",tostring(dec_num))

end

return?table.concat(mac_addr_new_tb,':')

end

print(add_mac_address('14:9f:e8:5c:06:0d','1'))

  • 上一篇:壹個月能學完ssm框架嗎
  • 下一篇:同花順超級level2和滬深level2的區別是什麽?
  • copyright 2024編程學習大全網