十进制转二进制的算法,最好有实例

 我来答
匿名用户
2013-11-07
展开全部
十进制转二进制:   用2辗转相除至结果为1 ,将余数和最后的1从下向上倒序写 就是结果   例如302   302/2 = 151 余0   151/2 = 75 余1   75/2 = 37 余1    37/2 = 18 余1   18/2 = 9 余0 9/2 = 4 余1    4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为100101110
匿名用户
2013-11-07
展开全部
302除以2 = 151 余数为0
151除以2 = 75 余1
75除以2 = 37 余1
37除以2 = 18 余1
18除以2 = 9 余0
9除以2 = 4 余1
4除以2 = 2 余0
2除以2 = 1 余0 注意最后2除以2=1 所以最后的结果加上1答案等于100101110
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-07
展开全部
十进制转二进制其实不难,是一个连续除以二的过程:如十进制数23,23/2=11余1
11/2=5余1
5/2=2余1
2/2=1余0
所以二进制为0111,也就是把余数倒加起来,就行了。望采纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-07
展开全部
/*'A':1000001 41 65
'B':1000010 42 66
'C':1000011 43 67
'D':1000100 44 68
'E':1000101 45 69
'F':1000110 46 70
'G':1000111 47 71
'H':1001000 48 72
'I':1001001 49 73
'J':1001010 4A 74
'K':1001011 4B 75
'L':1001100 4C 76
'M':1001101 4D 77
'N':1001110 4E 78
'O':1001111 4F 79
'P':1010000 50 80
'Q':1010001 51 81
'R':1010010 52 82
'S':1010011 53 83
'T':1010100 54 84
'U':1010101 55 85
'V':1010110 56 86
'W':1010111 57 87
'X':1011000 58 88
'Y':1011001 59 89
'Z':1011010 5A 90Press any key to continue*/#include <stdio.h>
#include <string.h>void fun(char *s,int n) { // 将整数n转换为二进制字符串s
int len,i = 0;
char ch;
while(n) {
s[i++] = n % 2 + '0';
n = n / 2;
}
s[i] = '\0';
len = strlen(s);
for(i = 0;i < len/2;i++) {
ch = s[i];
s[i] = s[len - i - 1];
s[len - i - 1] = ch;
}
}int main( ) {
char ch;
char s[20];
for(ch = 'A';ch <= 'Z';ch++) {
fun(s,ch);
printf("'%c':%s %0X %d\n",ch,s,ch,ch);
}
printf("\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式