string result= Convert.ToString(10,2); //把10转换成2进制,其他 类推
你要用什么语言实现呢?
/*把值解析成二进制表达的字符串,准备打印*/
void ParseToLine(unsigned char number, char* buf)
{
int i=7;
memset(buf, '0', 8);
buf[8]=0;/* NULL terminated */
while(number)
{
buf[i--] = (number & 1) + '0';
number = (number>>1);
}
}
给你一个我做的某到题目中的一个函数吧(C版本),把一个 BYTE 类型,打印成二进制字符串的函数。
仅供参考~
以十进制的123为例吧。
123/2商61余1,
61/2商30余1,
30/2商15余0,
15/2商7余1,
7/2商3余1,
3/2商1余1,
1/1商0余1,
此时123已经被除尽,关注余数为1101111,倒着看就是1111011.
这个过程被称为除2取余倒序。
如果是含小数的十进制数,如123.13
提出整数部分用‘除2取余倒序’,提取小数部分用‘乘2取整正序’
0.13*2=0.26整数部分0
0.26*2=0.52整数部分0
0.52*2=1.04整数部分1
此时去除上面的1
0.04*2=0.08整数部分0
一直算到小数部分为0或者是你取的小数部分已经足够。
再正序0010
结果123.13的二进制为1111011.0010