zoukankan      html  css  js  c++  java
  • erlang 二进制数据

    关于二进制打印结果的分析://TODO 

    1.erlang没有字符串类型,存储的是对应整数值,

    下面是摘自网上的erlang类型介绍,以备忘。

    1).Variable.
    Erlang中无变量的说法,一般以未知数定义,以大写字母开头表示,可以通过“=”进行赋值,一旦赋值不可更改,在一般情况下“=”表示模式匹配。
    2).Atom.
    Erlang中非数字常量一般以原子定义,以小写字母开头,后接数字字母 或者 下划线“_”或者 符号 @ 表示;同时以单引号‘’引起来的字符也是原子,对于‘’内的字符无要求,可以以大写字母开头 如:‘Monday’;对于原子,它的知就是自身,因此输入一个原子,输出还是这个原子。
    3).Tuple.
    Erlang中对Tuple翻译 元组 序列 两种称呼,以大括号{_,_,_}内部将各个字符以逗号隔开表示。
    4).List.
    Erlang中,列表以中括号[_,_,_]内部将各个字符以逗号隔开表示。 列表中第一个元素称呼为列表头,剩下的元素称呼为列表尾,通常列表尾还是一个列表,实际上所有处理列表的函数都是从提取列表头开始[H|T],H为列表头,[T]为列表尾,以模式模式匹配的方式来提取数据。
    5).String.
    Erlang中,以双引号“”表示字符串,实际上Erlang中无字符串,为一整数列表,可以用$表示字符的整数值,$a.实际上为一个整数,表示字符a。
    6).占位符“_”。
    Erlang中占位符  _  被称呼为匿名变量,表示那些我们不关心的变量,在同一个模式的不同地方  _  所绑定的额值都不同。
    7).表达式.
    在Erlang中任何可以被求值的东西的都被称呼为表达式,如catch、if、try...catch等都为表达式,而类型记录和模式属性等,这些不能被求值的都不是表达式。
    8).%和%%都为Erlang的注释内容。
    9).help()查看Erlang编译器的输出功能列表。
     
    对于二进制类型,上面没有介绍,对于二进制类型的打印结果来分析下:
     
      二进制数据(binary):在erlang中可以使用一种叫做二进制的数据点结构来存储大量原始数据。相对于列表或者元组,二进制类型更加节省内存,而且运行时系统也对此进行了优化,对二进制数据的输入输出会更高效。
      在书写和打印时,二进制数据以一个整数或者字符序列的形式出现,两端分别用两个小于号和两个大于号括起来。
      这是《erlang程序设计》书中的原话,但对于不同的类型结构转二进制后存储的数据信息没有做适量解释。
    1.二进制数据的打印是按字节打印。
    2、
      使用list_to_binary(XL),对XL(XL代表一个列表)包含不同的数据类型,来进行数据输出,会看见对应字节信息,不过转为了十进制字串输出形式,包含类型数据,长度,内容。
     
    //TODO
     
     
  • 相关阅读:
    POJ3693 Maximum repetition substring —— 后缀数组 重复次数最多的连续重复子串
    SPOJ
    POJ2774 Long Long Message —— 后缀数组 两字符串的最长公共子串
    POJ3261 Milk Patterns —— 后缀数组 出现k次且可重叠的最长子串
    POJ1743 Musical Theme —— 后缀数组 重复出现且不重叠的最长子串
    SPOJ
    AC自动机小结
    HDU3247 Resource Archiver —— AC自动机 + BFS最短路 + 状压DP
    POJ1625 Censored! —— AC自动机 + DP + 大数
    Herding
  • 原文地址:https://www.cnblogs.com/moniza/p/3896938.html
Copyright © 2011-2022 走看看