zoukankan      html  css  js  c++  java
  • 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;

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

    ——————
    无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
  • 相关阅读:
    ABAP 动态生成内表的几种方法
    abap 动态生成alv列
    abap 二分法检索
    选择屏幕abap , pararmeters,USER-COMMAND
    摘录 abap 数学函数
    abap SY-
    解决flex布局的space-evenly兼容性问题
    es6来实现封装、继承学习
    关于vue.js禁用浏览器返回问题以及路由的一些简单使用
    vue-cli 3.x搭建项目
  • 原文地址:https://www.cnblogs.com/pied/p/2754280.html
Copyright © 2011-2022 走看看