首页 新闻 会员 周边 捐助

数制之间的转换

0
悬赏园豆:5 [待解决问题]

十进制怎么转换成二进制???

Byron   lee的主页 Byron lee | 初学一级 | 园豆:185
提问于:2010-11-07 00:00
< >
分享
所有回答(4)
0

string result= Convert.ToString(10,2); //把10转换成2进制,其他 类推

路过秋天 | 园豆:4787 (老鸟四级) | 2010-11-07 09:52
0

你要用什么语言实现呢?

Eric-Yang | 园豆:203 (菜鸟二级) | 2010-11-07 14:07
人为的运算,不用编程,就想知道方法,谢谢!
支持(0) 反对(0) Byron lee | 园豆:185 (初学一级) | 2010-11-08 22:33
0

/*把值解析成二进制表达的字符串,准备打印*/
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 类型,打印成二进制字符串的函数。

仅供参考~

hoodlum1980 | 园豆:573 (小虾三级) | 2010-11-07 18:24
谢谢哈,我想知道,怎么用笔算,不是编程.......
支持(0) 反对(0) Byron lee | 园豆:185 (初学一级) | 2010-11-08 22:34
0

以十进制的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

半分微醉 | 园豆:60 (初学一级) | 2012-06-01 15:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册