8421转换法可以轻松实现各进制之间的转换

8421转换法可以轻松实现各进制之间的转换

1.十进制转二进制

例1:十进制10转换成二进制
首先按照8421来分解:
10=8+2
用8421转换法,对应数字下面写1,没有的写0,得到:

8421
1010

也就是说十进制的10转换成二进制等于1010,
此时或许有人会问,如果这个数大于15(8+4+2+1)咋办?
很简单, 如果大于15,就在前面添加个16;
如果再大于31,就再在前面加个32

例2:十进制21转换成二进制
首先按照8421来分解:
21=16+4+1
用8421转换法,对应数字下面写1,没有的写0,得到:

168421
10101

例3:十进制35转换成二进制
首先按照8421来分解:
35=32+2+1
用8421转换法,对应数字下面写1,没有的写0,得到:

32168421
100011

2.二进制转十进制

例1:二进制1011转换成十进制

8421
1011
   8+2+1=11(D)
   二进制1011就是十进制的11
   (其实是上面方法的逆过程!)

3.十进制转十六进制

例1:十进制52转换成十六进制

首先按照8421来分解:

52=32+16+4

用8421转换法,对应数字下面写1,没有的写0,得到:

32168421
110100

从右到左4位4位地进行分割,位数不足的在左边添0
得到0011 0100

84218421
00110100
(1+2)*10+4*1=34(H)
   52(D) ---->34(H)

4.十进制转八进制

例1:十进制52转换成八进制(421码)

52=32+16+4

32168421
110100

从右到左3位3位的进行分割,位数不足的在左边添0

421421
110100
    (4+2)*10+1*4=64(O)
    52(D) ---->64(O)

5.十六进制转八进制

例1:十六进制2A转换成八进制

把每一位进行8421分解:

2=0010(B)

A=1010(B)

从右到左3位3位的进行分割,位数不足的在左边添0

421421421
000101010
(4+1)*10+2=52(O)
 2A(H) ---->52(O)

6.八进制转十六进制

例1:八进制64转换成十六进制

6=110(B)

4=100(B)

从右到左4位4位的进行分割,位数不足的在左边添0

84218421
00110100
   (2+1)*10+4=34(H)
     64(O) ---->34(H)
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用python的bytes.replace方法可以替换二进制内容。格式如下:bytes.replace(old,new [,count])。old为要被替换的内容,new为要替换的新内容,count为可选参数,表示只替换前count次出现的old内容,如果count省略,则替换所有出现的old内容。 ### 回答2: 在Python中,可以使用bytes替换法来替换二进制内容。bytes对象是不可变的字节序列,可以通过索引的方式对其内容进行替换。 首先,需要先将要替换的二进制内容存储为bytes对象。可以通过字节串字面值或使用bytes()函数将字符串转换为bytes对象。例如,要替换的内容为b'1101'。 然后,将原始的二进制内容存储为bytes对象,可以通过与前面一样的方式进行。 接下来,通过使用切片操作来替换原始的二进制内容。切片操作会返回一个新的bytes对象,其中的指定片段将被替换为新的内容。 具体代码示例如下: ```python # 定义要替换的二进制内容 replace_content = b'1101' # 原始的二进制内容 original_content = b'101101000101' # 替换二进制内容 new_content = original_content[:4] + replace_content + original_content[8:] # 输出结果 print(new_content) ``` 运行以上代码,将输出替换后的二进制内容: ``` b'10111101101101' ``` 这样,我们就成功使用bytes替换法来替换二进制内容。注意,在进行替换时需要确保新的内容和原始内容的长度相等,否则可能会发生索引错误。 ### 回答3: Python提供了多种替换二进制内容的方法,其中一种常用的方法是使用bytes替换法。下面是使用Python实现bytes替换法的具体步骤: 1. 将要替换的二进制内容和替换后的内容转换为bytes类型。可以使用`bytes()`函数将字符串转换为bytes类型。 2. 使用.replace()方法将源二进制内容替换为目标二进制内容。该方法接受两个参数,第一个参数为要被替换的二进制内容,第二个参数为替换后的二进制内容。 下面是一个示例,展示如何使用bytes替换法来替换二进制内容: ```python source_bytes = b'\x41\x42\x43' target_bytes = b'\x44\x45\x46' replacement_bytes = b'\x47\x48\x49' result_bytes = source_bytes.replace(target_bytes, replacement_bytes) ``` 在上述示例中,源二进制内容为`b'\x41\x42\x43'`,替换后的二进制内容为`b'\x44\x45\x46'`,替换为的新内容为`b'\x47\x48\x49'`。通过调用.replace()方法,将目标二进制内容替换为新内容,得到结果`b'\x41\x47\x48\x49'`。 需要注意的是,替换后的二进制内容的长度应与源二进制内容相同,否则会导致结果不符合预期。另外,如果源二进制内容中存在多个需要替换的部分,该方法只会替换第一个匹配的部分。 总结:Python中的bytes替换法能简单快速地实现替换二进制内容的需求。通过将二进制内容转换为bytes类型,并使用.replace()方法进行替换,可以轻松地得到替换后的二进制内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值