65.9K
CodeProject 正在变化。 阅读更多。
Home

计算机进制转换(十六进制、十进制、八进制和二进制)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.10/5 (20投票s)

2007年2月5日

CPOL
viewsIcon

58520

downloadIcon

2159

一篇文章,演示如何从基数为2、8、10或16转换为另一种基数为2、8、10、16的进制。

Sample image

引言

这段代码的编写目的是展示如何将十六进制、十进制、八进制或二进制值转换为十六进制、十进制、八进制或二进制值。 许多函数演示了Hex2BinBin2HexHex2DecDec2Hex等。这段代码将向您展示在这些基数(2、8、10、16)之间进行转换是多么容易。

背景

了解二进制转换的工作原理很重要。 请点击这里了解更多信息。

Using the Code

输入一个值,查看输出值。 就这么简单。 使用箭头增加或减少该值。

处理转换的两个主要函数包括 Input2Binary() Binary2Output()。 通过这些函数,您可以将任何输入类型转换为二进制,然后将该二进制值转换为任何输出类型。

Input2Binary() 函数包含以下代码

// 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;
}

Binary2Output() 函数包含以下代码

// 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;
}

历史

  • 2007年2月5日:第一个版本
© . All rights reserved.