十进制转二进制

好久没用java写了,真有点别扭。。。。。。。。。
package com.practice.algorithm;

public class DecimalToBinary {
	private static String m_str;
	private static char[] DecimalToBin(int iNum)
	{
		char[] cArray = new char[100];
		int i = 0;
		//初始化数组
		for(i = 0;i < cArray.length;++i)
		{
			cArray[i] = 0;
		}
		
		i = 0;
		do
		{
			int iTemp = iNum % 2;
			char cTemp = (char)(iTemp + '0');
			cArray[i++] = cTemp;
		}while( (iNum = iNum / 2) != 0 );
		
		char[] cStor = new char[i];
		for( i = 0;i < cStor.length;++i )
		{
			cStor[i] = cArray[i];
		}
		int nLength = cStor.length;
		int j = nLength / 2;
		for( i = 0;i < j;++i)
		{
			char cTemp = cStor[i];
			cStor[i] = cStor[nLength-1];
			cStor[nLength-1] = cTemp;
			--nLength;
		}
		
		return cStor;
	}
	
	public static void main(String[] args)
	{
		m_str = new String(DecimalToBin(10));
		
		System.out.println(m_str);	
	}
}



#include "DecToBin.h"


int main(void)
{
	char* cTemp = DecToBin(10);
	
	printf("%s\n", cTemp);
	delete cTemp;
	cTemp = NULL;
	return 0;
}

char* DecToBin(int nNum)
{
	char* pStr = new char[100];
	memset(pStr, 0, sizeof(char)*100);
	int i = 0;
	do
	{
		int n = nNum % 2;
		char cTemp = n + '0';
		pStr[i++] = cTemp;
	}while(nNum = nNum / 2);
	
	//字符串倒序
	int nLength = strlen(pStr);
	int j = nLength/2;
	for(i = 0;i < j;++i)
	{
		char cTemp = pStr[i];
		pStr[i] = pStr[nLength-1];
		pStr[nLength-1] = cTemp;
		--nLength;
	}
	return pStr;
}

你可能感兴趣的:(C++,c,C#,J#)