1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
Option Explicit
Sub DecToBin()
Dim line, row, i, IPV4isBinary(32), IPV4(4)
row = 1
line = 2
Do
getIPV4(IPV4(), line, row)
ConvertIPV4toBinary(IPV4isBinary(), IPV4())
writeBinaryIPV4toXL(IPV4isBinary(), line, row)
line = line + 1
Loop While (Cells(line, row) <> "")
End Sub
Sub getIPV4(IPV4(), line, row)
Dim i
For i = 0 To i = 3
IPV4(i + 1) = Cells(line, row + i)
Next i
End Sub
Sub writeBinaryIPV4toXL(IPV4Bin(), line, row)
Dim i
For i = 1 To i = 32
Cells(line, row + 7 + i) = IPV4Bin(i)
Next i
End Sub
Sub ConvertIPV4toBinary(IPV4isBinary(), IPV4())
Dim i, j, temp(8)
For i = 1 To 4
DecimalToBinary(temp(), IPV4(i))
For j = 1 To 8
IPV4isBinary((i - 1) * 4 + j) = temp(j)
Next j
Next i
End Sub
Sub DecimalToBinary(binaryWord(), value)
Dim q, offset, i
offset = 8
For i = 1 To 8
bin(i) = 0
Next i
Do
q = Int(value / 2)
binaryWord(offset) = value - (2 * q)
offset = offset - 1
value = Int(value / 2)
Loop While q <> 0
End Sub |
Partager