Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Computer Conversions (Hexadecimal, Decimal, Octal and Binary)

0.00/5 (No votes)
5 Feb 2007 1  
An article to demonstrate how to convert from one base 2, 8, 10 or 16 to another of base 2, 8, 10, 16
Sample image

Introduction

This code was written to show how to convert from Hexadecimal, Decimal, Octal or Binary out to a Hexadecimal, Decimal, Octal or Binary value. Many functions demonstrate Hex2Bin, Bin2Hex, Hex2Dec, Dec2Hex, etc. This code will show you how easy it is to convert between any of these bases (2, 8, 10, 16).

Background

It is good to understand how binary conversions work. Take a look here for more information.

Using the Code

Enter an input value, and see what the output value is. It's that easy. Use the arrows to add or subtract the value.

The two main functions that deal with the conversions include Input2Binary() and Binary2Output(). From these functions, you can take any input type and convert it to binary, and then convert that binary value to any output type.

The Input2Binary() function contains this code:

// Convert the current input into binary 
// NOTE: convert string from base 'n'
switch( numberStyle.ToUpper() )
{
    case "HEXADECIMAL":
        currInput = Convert.ToUInt64(txtObject, 16);
        break;
    case "DECIMAL":
        currInput = Convert.ToUInt64(txtObject, 10);
        break;
    case "OCTAL":
        currInput = Convert.ToUInt64(txtObject, 8);
        break;
    case "BINARY":
        currInput = Convert.ToUInt64(txtObject, 2);
        break;
}

The Binary2Output() function contains this code:

// Convert the int to the correct output
switch( numberStyle.ToUpper() )
{
    case "HEXADECIMAL":
        txtObject = Convert.ToString(currVal, 16).ToUpper();
        break;
    case "DECIMAL":
        txtObject = Convert.ToString(currVal, 10);
        break;
    case "OCTAL":
        txtObject = Convert.ToString(currVal, 8);
        break;
    case "BINARY":
        txtObject = Convert.ToString(currVal, 2);
        break;
}

History

  • 5th February, 2007: First version

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here