302转换为二进制 怎么转换 求余是怎么回事呀
发布网友
发布时间:2022-04-28 10:45
我来回答
共5个回答
热心网友
时间:2023-09-29 01:23
十进制与二进制转换之相互算法
十进制转二进制:
用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
故二进制为100101110
二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0 +8+0+32+64+0=107.
二进制01101011=十进制107.
求余:
%号在C/C++中是取余的意思,例如
4除以3的余数是一,所以在C/C++中4%3=1
求余运算可能碰到负值,这时候结果的符号与第一个数的符号相同。
比如4%(-3)=1而(-4)%3= -1
热心网友
时间:2023-09-29 01:23
十进制转二进制:
用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
故二进制为100101110
热心网友
时间:2023-09-29 01:24
c语言求余是指除于某个数之后所余下的整数(当然是不能整除的情况下,整除时,余数是0);例如104%10=4;104%3=1;104%2=0;104%7=6;(%为求余运算符).通常除数是10时是取得个位数,100时是取得后两位数,例如132%10=2;132%100=32;
转换二进制方法为除2求余,然后把余数反写(后来的余数写前面)下来就可以了.例如对9进行转换:
9/2 商4余1
4/2 商2余0
2/2 商1余0
1/2 商1余1
7=(1001二进制)
不知道这样说你明白了没
热心网友
时间:2023-09-29 01:25
#include<stdio.h>
void main()
{
int N,i=0,a[100];
scanf("%d",&N);
while(N)
{
a[i++]=N%2;
N=N/2;
}
while(i)printf("%d",a[--i]);
printf("\n");
}
输入要转换的10进制就能得到2进制
热心网友
时间:2023-09-29 01:25
应该这样:
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