二进制转换器 在线转换 文字


Time:2023-07-17 17:07:15

关于二进制转换器的问题,我们总结了以下几点,给你解答:

二进制转换器


二进制转换器

在近期的新闻中,当《赛博朋克2077》对AMD处理器优化不好的时候,有人祭出了终极大法——修改执行文件!对很多玩家来说,这个修改过程能看懂,但它提供的那一串代码到底是什么?它代表的16进制又是啥意思?可能很多新晋玩家就不知道了,那咱们今天就来说说这事儿吧。

16进制就是以0~F代表0~15的一种表达方式,在修改时看到的一般是两个一组,可以表达0(00)~255(FF)。相对于二进制的0,1,它可以在较短的代码内更多的信息,比如255拥16进制写成FF,二进制就要写成11111111(不用数了,是8个1)。显然16进制用来一些表达一些复杂设置、大型数字更方便。

因为这个优势,所以很多游戏会使用16进制来表达数字,比如有些老游戏中会看到最高级别、属性、最高人数是15、255、65535(FFFF)等比较怪的数字。这有没有让你有点联想?没错,了解16进制之后就可以修改这些属性了。

这里要注意三个问题,首先是10进制的转换,我们可以使用https://tool.lu/hexconvert/等在线转换工具。其次是顺序问题,有些文件中的16进制排列是反向的,比如65534应该表达为FF FE,但在有些文件中是FE FF。最后就是在修改时一定一定要注意备份文件,一旦修改了错误位置,轻则属性混乱,重则存档甚至整个游戏都无法打开。

然后就是具体的修改方法了,我们选择的是目前比较流行的16进制编辑工具,UltraEdit旗下的hex-editor(https://www.ultraedit.com/language/hex-editor.html)。以前面提到的《赛博朋克2077》优化设置为例,安装hex-editor并用它打开Cyberpunk2077.exe。

然后我们必须确定相关的整个字符串,比如75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08,这样才能更好地确定修改位置,尽量避免改错。然后选择“Edit→Find”功能,输入这串字符,找到相关位置,当然不一定要输全也可能找到位置,但也必须确认后续字符完全相同。之后把字符串头部的75改成EB,存档就好了。

至于存档文件就更简单了,可以选择一个比较大而且容易变化的数字,比如军粮数量,存档后在存档文件里用16进制字符查找,记下来位置。然后减少或增加军粮,再次存档,看看之前记下的位置中,哪一个数据变成了新的数量,之后修改并载入试试看。这里要注意的是,一个数据可能会存在多处,如果多次尝试发现几个地方的数据都在同时变化,那么就都修改好了。

最后有个超超超级重要的事要说明,修改属性、数量等参数的方法只适用于纯粹的单机游戏或者仅联网进行正版授权验证的游戏。对于网游或者一些存档会在网上备份的联网“单机”游戏来说,这样的修改不仅很可能不奏效,而且还可能涉及作弊,会被平台惩罚,小伙伴们就千万不要尝试啦。

二进制转换器文字


二进制转换器文字

注:小括号后的数字表示进制

1.二进制转换成十进制采用多项式求和的方式:

(1011.101)2=2^3+2^1+2^0+2^(-1)+2^(-3)=(11.625)10

2.十进制转换成二进制,要分整数部分和小数部分分别对待:

整数部分采用短除法,除2取余的方式

101/2=50余数为1

50/2=25余数为0

25/2=12余数为1

12/2=6...0

6/2=3...0

3/2=1...1

1/2=0...1

整数部分结果为(1100101)2

小数部分采用乘2取整的方式:

0.01*2=0.02.....0

0.02*2=0.04.....0

0.04*2=0.08.....0

0.08*2=0.16.....0

.....

十进制的小数转换成二进制得到的可能有无限位,因此一般会要求保留位数

小数部分最终结果若保留2位,结果为(0.00)2

最终结果为(1100101.00)2

3.八进制转换为二进制比较简单,每位八进制直接转换为3位二进制数

6->110

5->101

3->011

4->100

最终结果为(110101.011100)2

4.十六进制转换为二进制同上,不过每位对应4位二进制

D->1101

8->1000

C->1100

4->0100

最终结果为(11011000.11000100)2


( 1 )1011.101二进制转十进制

1011.101(二进制)=1*2^3+0*2^2+1*2^1+1*2^1+1*2^(-1)+0*2^(-2)+1*2^(-3)=8+2+1+0.5+0.125=11.625

结果:11.625

( 2 ) 101.01十进制转二进制

整数部分除2倒取余

101/2=50余1

50/2=25余0

25/2=12余1

12/2=6余0

6/2=3余0

3/2=1余1

1

整数部分转换结果1100101

小数部分乘2取顺取整 0.01 X2 0.02 取整0 X2 0.04 取整0 X2 0.08 取整0 X2 0.16 取整0 X2 0.32 取整0 X2 0.64 取整0 X2 1.28 取整1 X2 0.56 取整0 X2 1.12 取整1

…………

0.01是无法用二进制精确表示的,小数部分计算结果是0.00000101……

整数部分+小数部分

结果是:1100101.00000101……按需要保留多少位吧

( 3 ) 65.34八进制转二进制

6 5 . 3 4

↓ ↓ ↓ ↓

110 101 . 011 100

结果:110101.011100

( 4 ) D8.C4十六进制转二进制

D 8 . C 4

↓ ↓ ↓ ↓

1101 0101 . 1100 0100

结果:11010101.11000100


1011.101 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 1*2^(-1) + 0*2^(-2) + 1*2^(-3) = 8+2+1+0.5+0.0.125=11.625

101.01 = 1*2^2 + 0*2^1 + 1*2^0 + 0*2^(-1) + 1*2^(-2) = 4+1+0.25 = 5.25

65.34 = 110 101 . 011 100

D8.C4 = 1101 0100 . 1100 0100


二进制转换器在线转换


二进制转换器在线转换

每一个十进制数数除以2,结果反过来即可;例如10;第一次是2×5,结果为0;第二次5除以2得2,余1;第三次,2,除以2等于1,余0;第四次1除以2为0,余1;

最终结果为来自1010


本文拓展问题:

二进制转换器在线转换二进制转换器计算器二进制转化为十进制在线二进制转换器十进制转化为二进制转换器二进制转换器