zoukankan      html  css  js  c++  java
  • 数码管浅析

    咱们来看这个图

    1.一个数码管一共有8个二级管组成,它们的编号分别为DP G F E D C B A ,通过这些编号控制灯的暗灭来形成一个字符

    2.数码管分为共阳和共阴两种形式,简单理解就是,共阳就是所有数码管初始值为8个0,共阴就是所有数码管初始值为8个1。

    3.需要灭掉不同的二极管组成我们想要的字符,共阳0变1,共阴1变0 

      假设H这个字符是共阳数码管显示出来的那么数码管初始就是00000000,现在需要灭掉DP D A才能形成H

    初始是这样的

    注意:二进制每一位对应的字母编号顺序为DP,G,F,E,D,C,B,A   !!!(不是顺序)

      DP G F E D C B A
    H 0 0 0 0 0 0 0 0

    灭掉DP D A变成下图了

      DP G F E D C B A
    H 1 0 0 0 1 0 0 1


    H  二进制 10001001   对应十六进制   89

    • 例题实验吧CTF数码管:

    解题思路:红色共阳,蓝色共阴

    第一个字母红色共阳(二进制全是零0):根据编号只有A,D,DP灭掉(改变),所以二进制表示为:1000 1001   十六进制为 89

      dp g f e d c b a
    共阳初始 0 0 0 0 0 0 0 0
    形成H 1 0 0 0 1 0 0 1


    同理第二个共阴二进制全1,只有B,C,DP改变,E 所以二进制位为:0111 1001                                                 十六进制为:79

    同理第三个共阳二进制全0,只有A,B,C,G,DP改变,L的二进制为:1100 0111                   十六进制为:C7

    同理第四个共阴二进制全1,只有A,B,C,G,DP改变,L 所以二进制位为:0011 1000              十六进制为:38

    同理第五个共阳二进制全0,只有G,DP改变,O的二进制为:1100 0000                            十六进制为:C0

    所以得到flag:{***********}

    • 附共阳共阴数码管部分字符表

  • 相关阅读:
    Python学习笔记:pandas.read_csv分块读取大文件(chunksize、iterator=True)
    Python学习笔记:os.stat().st_size、os.path.getsize()获取文件大小
    7-1 打印沙漏
    7-1 币值转换
    7-1 抓老鼠啊~亏了还是赚了?
    第四周编程总结哦也
    2018秋寒假作业6—PTA编程总结3
    PTA编程总结3
    PTA编程总结1
    秋季学期学习总结
  • 原文地址:https://www.cnblogs.com/threesoil/p/9919660.html
Copyright © 2011-2022 走看看