十进制与二进制相互转化的方法(二进制密码转换)

2023-03-12 5:28:21 密码用途 思思

十进制转成二进制是这样:

把这个十进制数做二的整除运算,并将所得到的余数倒过来.

例如将十进制的10转为二进制是这样:

(1) 10/2,商5余0;

(2) 5/2,商2余1;

(3)2/2,商1余0;

(4)1/2,商0余1.

(5)将所得的余数侄倒过来,就是1010,所以十进制的10转化为二进制就是1010

二进制转化为十进制是这样的:

这里可以用8421码的方法.这个方法是将你所要转化的二进制从右向左数,从0开始数(这个数我们叫N),在位数是1的地方停下,并将1乘以2的N次方,最后将这些1乘以2的N次方相加,就是这个二进数的十进制了.

还是举个例子吧:

求110101的十进制数.从右向左开始了

(1) 1乘以2的0次方,等于1;

(2) 1乘以2的2次方,等于4;

(3) 1乘以2的4次方,等于16;

(4) 1乘以2的5次方,等于32;

(5) 将这些结果相加:1+4+16+32=53

所要求的二进制数的十进制就是53.

不知道我说的你明白了吗?我觉得我说的不是很明白,不过我举了例子,应该就可以明白了.

二进制密码怎么解

stray二进制密码怎么解:

贫民窟的二进制密码宝箱想要破解首先需要拿着那个神秘密码的纸,找那个Elliot编程的人。

就是那个挠门会开的地方,上二楼然后他会告诉你破解的信息是Dufer Bar。

再去那个酒吧,吧台边上有一个灯牌,上面有一幅画,扒拉那个画就会露出密码。

其它密码:

公寓门禁密码:3748

PS:密码就在旁边的小屋里面,开手电筒就能看见。

Seamus房间密室密码:2511

二进制数字密码的破译

1。

十进制

十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十

进一。历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。

2。

二进制

二进制以2为基数,只用0和1两个数字表示数,逢2进一。

二。进制转换

1。二进制与十进制数间的转换

(1)二进制转换为十进制

将每个二进制数按权展开后求和即可。请看例题:

把二进制数101转化为十进制数

1=1×2^0=1

1001=1×2^3+0×2^2+0×2^1+1×2^0=9

1011=1×2^3+0×2^2+1×2^1+1×2^0=11

或者,你用8421码就可以了,这样使用,

这是上下对应的,你看好了

8

4

2

1

1

1

1001=1×8+0×4+0×2+1×1=9

8

4

2

1

1

1

1

1011=1×8+0×4+1×2+1×1=11

(2)十进制转换为二进制

一般需要将十进制数的整数部分与小数部分分开处理。

整数部分计算方法:除2取倒取余法

(注意是倒着取余数)

请看例题:

十进制数(53)的二进制值为(110101)

53除以2得26,余1,取1

26除以2得13,余0,取0

13除以2得6,余1,取1

6除以2得3,余0,取0

3除以2得1,余1,取1

1除以2得0,余1,取1

再以12为例,转为二进制

12除以2得6,余0,取0

6除以2得3,余0,取0

3除以2得1,余1,取1

1除以2得0,余1,取1

由最后开始写起,就可得1100的二进制结果

小数部分计算方法:

就是把该小数不断乘2,再取所得的整数部份,直至没有小数为止,但请注意并

不是所有小数都能转到!

以0.875为例,

0.875乘以2得1.750,取整数1

0.750乘以2得1.500,取整数1

0.500乘以2得1,取整数1,就可得0.111的二进制结果

十进制数(0.875)的二进制值为(0.111)

PS:整数部分与小数部分算法的区别

有点长耐心看哦

如何用C#语言将密码从二进制转化成十六进制数

我这个方法比较笨,希望有优化的一起讨论~

static void Main(string[] args){

char[] num="111111".Reverse().ToArray(); //测试数据,此数十进制为63,十六进制为3F

int i=0;

int result=0;

foreach(char ch in num){

//先把二进制数转换成十进制形式

result=(int)(result+Convert.ToInt32(ch.ToString())*Math.Pow(2.0,Convert.ToDouble(i)));

i++;

}

Console.Write("十进制形式:"+result);

//接下来将result转换成16进制

string end="";

int j=result;

int temp=0;

string m="";

while(j0){

temp=j%16;

switch(temp){

case 10:

m="A";

break;

case 11:

m="B";

break;

case 12:

m="C";

break;

case 13:

m="D";

break;

case 14:

m="E";

break;

case 15:

m="F";

break;

defalut:

m=temp.ToString();

break;

}

end+=m;

j=j/16;

}

Console.WriteLine(end.Reverse().ToArray());

Console.ReadLine();

}