It starts by taking two user input from the console and putting them into strings. I then pad them to get them to the same length. I get the length of the num1 and assign it to the integer len. I then start a for loop from 1 to the value of len.

I get the last charterer in num1 and num2 and assign then to char1 and char2. I then add pass which is a integer, num1 and num2 to get the total of a colum like if you were doing normal addition by hand. I do a bitwise AND to get check if the number would have anything in the units column. If it would I add on to the start of my total. Else I add a zero. I then do a right shift on the column_total and assign it to pass. This is to pass on any values which need to go into the next column.

In the next bit I have a while loop which would run until it clears out pass. I assign pass into column_total. I have the same logic to before with the if and else but instead of shifting column_total we now shift pass.

I then just write the total to console.

Module Module1

Sub Main()
Dim pass, column_total, len As Integer
Dim total, char1, char2 As String

Dim num1 As String = Console.ReadLine()

Dim num2 As String = Console.ReadLine()

If num1 > num2 Then
num2 = num2.PadLeft(num1.Length() - num2.Length + 1, "0"c)
Else
num1 = num1.PadLeft(num2.Length() - num1.Length + 1, "0"c)
End If

len = num1.Length()

For i = 1 To num1.Length()
char1 = num1.Chars(len - i)
char2 = num2.Chars(len - i)
column_total = pass + char1 + char2

If column_total And &H1 Then
total = "1" + total
Else
total = "0" + total
End If
pass = column_total >> 1
Console.WriteLine(total)

Next

While pass <> 0
column_total = pass
If column_total And &H1 Then
total = "1" + total
Else
total = "0" + total
End If
pass >>= 1
End While

Console.WriteLine("The answer is: " & total)