用c#语言写一个将十进制转换为二进制的程序

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:28:07
用堆栈,把余数储存到堆栈中,然后在出栈。

呵呵,没有意义的事情,因为在内存里他都是二进制,所谓十进制二进制十六进制,只是显示的问题,也就是字符串的问题,要显示问题很好转换

如果要用堆栈,那就比较麻烦,也没有必要

/// <summary>
/// 堆栈
/// </summary>
private Stack<int> Intstack = new Stack<int>( 5 );

public void DtoB( int iNum )
{
Intstack.Push( iNum % 2 ); // 余数入栈
int d = iNum / 2;
if ( d != 0 )
DtoB( d ); // 求下一个二进制位

return;
}

//下面是调用程序
public static void Main()
{
Intstack.Clear();
DtoB( 11 );
StringBuilder s = new StringBuilder();
while ( Intstack.Count != 0 )
s.Insert( 0, Intstack.Pop() ); // 从堆栈中取出所有的二进制位

MessageBox.Show( "二进制数:" + s.ToString() );
}

//要转换下面的方法更简单,而且效率更高
public string DtoB1( int iNum )
{
int len = sizeof( int ) * 8;
StringBuilder s = new StringBuilder();
int exm