One of the first programming challenges I’ve had when I started to understand how code works, was to convert integers to binary, octal and hexadecimal forms.
I created the first Visual Basic 6 project back in June of 1999 and it had 4 text boxes, one for each numeric base format. Each format can be converted to the corresponding bases and vise versa.
For some reason that I cannot recall, the version 1.5, also created with Visual Basic 6 in 2000, was more minimalistic than the v1.0:
Source code of
DecToLit that stands for decimal to litigant (litigant was what I got back then from the translator for binary!):
Function DecToLit(DecNum1 As String) Dim ValueFields1(1000) As Long, ValueFields2(1000) As Long Metritis1 = 1: Metritis2 = 1 ValueFields1(1) = Val(DecNum1) FinalData = "" Do Metritis1 = Metritis1 + 1 ValueFields1(Metritis1) = ValueFields1(Metritis1 - 1) \ 2 Loop Until ValueFields1(Metritis1) = 0 Do Metritis2 = Metritis2 + 1 ValueFields2(Metritis2) = ValueFields1(Metritis2 - 1) Mod 2 Loop Until ValueFields1(Metritis2 - 1) = 0 Metritis2 = Metritis2 + 1 For i = 1 To Metritis1 - 1 Metritis2 = Metritis2 - 1 FinalData = FinalData + Wtrim$(Str$(ValueFields2(Metritis2 - 1))) Next i DecToLit = RemoveZero$(UCase$(FinalData)) Erase ValueFields1, ValueFields2 End Function
Then at the same year, I decided that I needed something more serious and translate properly 32bit integers to 16bit words and 8bit bytes along with base conversions and RGB color support. I started a new VB6 project with the name of BINxWAR. It was way more complicated and it had automatic bidirectional conversions and expansions of each number:
I was very happy from the result and it served me well for more than 6 years.
After several years and with much better knowledge of C++, I decided that I wanted to have a proper multi-conversion tool that would translate bytes and colors in a more analytical way, so, at 2007 I started a VC++ MFC project with the name Bineye that stands for Binary Eye. It could convert 32bit integers, analyze low and high words and bytes, all the corresponding base conversions and translate to a full RGBA colors:
It is an orgasm of C++ Object Oriented implementation! It also has advanced MFC and Win32 API painting and custom controls.
After several years at 2014, I branded it under the name Wiznet Bineye, a small startup that me and some friends created. The release article can be found here. Softpedia and Windows 7 Download published it as a freeware and I am now open sourcing the latest release C++ MFC code under BSD 2-Clause License. The Github repository can be found here.