You are on page 1of 2

Option Strict On

02
Module Module1
03
Sub Main()
04
Dim character As Char = "!"c, denary As Integer = 0, binary, hex
adecimal, oddParity, evenParity, hamming As String
05
Console.Title = "ASCII to Hamming Converter"
06
Console.ForegroundColor = ConsoleColor.Green
07
Console.Write("ASCII Character: ") : character = CChar(Conso
le.ReadLine())
08
Console.WriteLine("----------------------")
09
10
denary = Asc(character)
11
binary = Denary2BaseX(denary, 2)
12
hexadecimal = Denary2BaseX(denary, 16)
13
evenParity = Parity(binary, "Even")
14
oddParity = Parity(binary, "Odd")
15
16
'For Readability's sake...
17
binary = binary.Substring(0, 3) & " " & binary.Substring(3,
4)
18
evenParity = evenParity.Substring(0, 4) & " " & evenParity.S
ubstring(4, 4)
19
oddParity = oddParity.Substring(0, 4) & " " & oddParity.Subs
tring(4, 4)
20
21
Console.WriteLine("Denary:
{0}", denary)
22
Console.WriteLine("Hexadecimal: {0}", hexadecimal)
23
Console.WriteLine("Binary:
{0}", binary)
24
Console.WriteLine("Even Parity: {0}", evenParity)
25
Console.WriteLine("Odd Parity: {0}", oddParity)
26
Console.WriteLine("Hamming:
{0}", hamming)
27
Console.WriteLine("")
28
29
End Sub
30
Public Function Denary2BaseX(ByVal i As Integer, ByVal b As Integer)
As String
31
Dim r As Integer = 0, n As String = "", c As String = "012345678
9ABCDEF", d As Boolean = False
32
Do Until i = 0
33
r = i Mod b
34
i = i \ b
35
n = c.Substring(r, 1) & n
36
Loop
37
Return n
38
End Function
39
Public Function Parity(ByVal binary As String, ByVal type As String)
As String
40
Dim quantityOf1s As Integer = 0, parityBit As Integer = 0
41
Parity = ""
42
For Each character In binary 'Count the 1s
43
If character = "1" Then quantityOf1s += 1
44
Next
45
Select Case type
46
Case "Even"
47
If quantityOf1s Mod 2 = 0 Then parityBit = 0 Else parity
Bit = 1
48
Return parityBit & binary
49
Case "Odd"
50
If quantityOf1s Mod 2 = 0 Then parityBit = 1 Else parity
Bit = 0

51
52
53
54
55
56
57

Return parityBit & binary


End Select
End Function
Public Function Hamming(ByVal binary As String) As String
'To be completed!
End Function
End Module

You might also like