
关于二进制运算的问题
202.119.115.78的二进制值为:11001010.01110111.01110011.01001110255.255.255.0的二进制值为:11111111....
202.119.115.78的二进制值为: 11001010.01110111.01110011.01001110 255.255.255.0的二进制值为: 11111111.11111111.11111111.00000000 AND后的结果为: 11001010.01110111.01110011.00000000 转为二进制后即为: 202.119.115.0 是怎样转换的,还有怎样算出结果的,真是一头雾水啊
展开
1个回答
展开全部
10进制转化为2进制其实就是不断的除2并取得余数的过程.
各步骤得到的余数倒过来就是这个数字的2进制表示.
举个例子
把6转换成2进制
1.
6/2
=
3
余
0
2.
3/2
=
1
余
1
3.
1/2
=
0
余
1
当最后商为0的时候结束运算
这3个步骤的余数为
0
1
1
把这三个数倒过来就是6的2进制数
110
编程实现就是
#include
<stdio.h>
int
main()
{
int
k,
num;
int
a[32];
scanf("%d",
&num);
k
=
0;
while
(num
!=
0)
{
a[k++]
=
num
%
2;
num
/=
2;
}
for
(int
i
=
k
-
1;
i
>=
0;
i--)
printf("%d",
a[i]);
printf("\n");
}
各步骤得到的余数倒过来就是这个数字的2进制表示.
举个例子
把6转换成2进制
1.
6/2
=
3
余
0
2.
3/2
=
1
余
1
3.
1/2
=
0
余
1
当最后商为0的时候结束运算
这3个步骤的余数为
0
1
1
把这三个数倒过来就是6的2进制数
110
编程实现就是
#include
<stdio.h>
int
main()
{
int
k,
num;
int
a[32];
scanf("%d",
&num);
k
=
0;
while
(num
!=
0)
{
a[k++]
=
num
%
2;
num
/=
2;
}
for
(int
i
=
k
-
1;
i
>=
0;
i--)
printf("%d",
a[i]);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询