• lua打印16进制


    唔,这个折腾了半天。。。

    今天学到的两个函数string.sub和string.format。

    string.sub(s,i,j),将s的第i个到第j个字符取出,i缺省为1,j缺省为-1

    string.format(),唔,完全可以当作是C里面的printf来用!

    今天写的一个小程序:

    #!/usr/bin/env  lua

    here = 0
    for line in io.lines("./sin512.mif"do
            here=here + 1
            if here < 7 then
                    print(line)
            elseif (here - 7)%8 == 0 then
                    line = string.sub(line,5)
                    print(string.format("%04X",(here-7)/8)..line)
            end
    end

    然后,sin512的内容是这样的:

    DEPTH = 512;
    WIDTH = 8;
    ADDRESS_RADIX = HEX;
    DATA_RADIX = HEX;
    CONTENT
            BEGIN
    0000 : 0080;
    0001 : 0081;
    0002 : 0083;
    0003 : 0084;
    0004 : 0086;
    0005 : 0087;
    0006 : 0089;
    0007 : 008A;
    0008 : 008C;
    0009 : 008E;
    000A : 008F;
    000B : 0091;
    000C : 0092;
    000D : 0094;
    ...
    01FC : 0079;
    01FD : 007B;
    01FE : 007C;
    01FF : 007E;
    end;

    打印出来是这样的:

    DEPTH = 512;
    WIDTH = 8;
    ADDRESS_RADIX = HEX;
    DATA_RADIX = HEX;
    CONTENT 
        BEGIN
    0000 : 0080;
    0001 : 008C;
    0002 : 0098;
    0003 : 00A5;
    0004 : 00B0;
    0005 : 00BC;
    0006 : 00C6;
    0007 : 00D0;
    0008 : 00DA;
    0009 : 00E2;
    000A : 00EA;
    000B : 00F0;
    000C : 00F5;
    000D : 00FA;
    000E : 00FD;
    000F : 00FE;
    0010 : 00FF;
    0011 : 00FE;
    0012 : 00FD;
    0013 : 00FA;
    0014 : 00F5;
    0015 : 00F0;
    0016 : 00EA;
    0017 : 00E2;
    0018 : 00DA;
    0019 : 00D0;
    001A : 00C6;
    001B : 00BC;
    001C : 00B0;
    001D : 00A5;
    001E : 0098;
    001F : 008C;
    0020 : 007F;
    0021 : 0073;
    0022 : 0067;
    0023 : 005A;
    0024 : 004F;
    0025 : 0043;
    0026 : 0039;
    0027 : 002F;
    0028 : 0025;
    0029 : 001D;
    002A : 0015;
    002B : 000F;
    002C : 000A;
    002D : 0005;
    002E : 0002;
    002F : 0001;
    0030 : 0000;
    0031 : 0001;
    0032 : 0002;
    0033 : 0005;
    0034 : 000A;
    0035 : 000F;
    0036 : 0015;
    0037 : 001D;
    0038 : 0025;
    0039 : 002F;
    003A : 0039;
    003B : 0043;
    003C : 004F;
    003D : 005A;
    003E : 0067;
    003F : 0073;
    0040;

    总的来说是干了件蠢事,但是干的还算开心哈! 

    ——————
    无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
  • 相关阅读:
    JavaScript中{}+{}
    网站性能优化
    C++是如何从代码到游戏的?
    C++是如何从代码到游戏的?
    【力扣】至少是其他数字两倍的最大数 中速题解
    代码编辑器选择Atom还是VScode?
    TIOBE 4 月榜单:少儿编程语言 Scratch 进入 TOP 20
    熟悉一下oncontextmenu事件的知识
    input属性type为file打开文件资源管理器时,如何限制多次选取或只能一次选取的行为
    HTML5的拖放事件
  • 原文地址:https://www.cnblogs.com/pied/p/2754280.html
Copyright © 2020-2023  润新知