热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[Erlang-0011][OTP]ExternalTermFormat

http:www.erlang.orgdocappsertserl_ext_dist.html常用的如下:8.4小整数格式-----------------|1|1|----

http://www.erlang.org/doc/apps/erts/erl_ext_dist.html

常用的如下:

8.4 小整数格式
-----------------
|1 |1 |
-----------------
|97 |Int |
-----------------
Table 8.10:
无符号8位整数

8.5 整数格式
-----------------
|1 |4 |
-----------------
|98 |Int |
-----------------
Table 8.11:
有符号的32为整数,大端格式(MSB优先)

8.6 浮点数(略)

8.7 原子
--------------------------
|1 |2 |Len |
--------------------------
|100 |Len |AtomName|
--------------------------
Table 8.13:


8.9 端口(略)

8.10 PID(略)

8.11 小元组
----------------------------
|1 |1 |N |
----------------------------
|104 |Arity |Elements |
----------------------------
Table 8.17:
Arity是无符号的字节,指示Elements的个数。

8.12 大元组
---------------------------------
|1 |4 |N |
---------------------------------
|105 |Arity |Elements |
---------------------------------
Table 8.18:
Arity是无符号4字节,大端字节序列。

8.13 空列表
-------------
|1 |
-------------
|106 |
-------------
Table 8.19:
代表空列表(空数组)。

8.14 字符串
------------------------------
|1 |2 |Len |
------------------------------
|107 |Length |Characters |
------------------------------
Table 8.20:
字符串没有一个相应的erlang表现形式,这里是为发送字节的列表(字节编码范围在0-255)更高效而做的优化。由于Length字段是一个无符号2字节的整数(大端序列),所以长度大于65535的的列表必须编码成列表格式。

8.15 列表
-----------------------------------------------
|1 |4 | | |
-----------------------------------------------
|108 |Length |Elements |Tail |
-----------------------------------------------
Table 8.21:
Length是Elements的里元素的数量。Tail是列表的尾巴。正常的列表的话是“空列表”,但是如果非正常列表的话Tail可能是各种形式。

8.16 二进制
------------------------
|1 |4 |Len |
------------------------
|109 |Len |Data |
------------------------
Table 8.22:
这里的二进制指的是位语法表达式或lists_to_binary/1,term_to_binary/1,或二进制端口输入的。Len长度字段是无符号4字节的整数(大端序列)。

8.17 SMALL_BIG_EXT
-------------------------------------------------
|1 |1 |1 |n |
-------------------------------------------------
|110 |n |Sign |d(0) ... d(n-1) |
-------------------------------------------------
Sign是符号,0是正,1是负。
B = 256
(d0*B^0 + d1*B^1 + d2*B^2 + ... d(n-1)*B^(n-1))


8.17 LARGE_BIG_EXT
-------------------------------------------------
|1 |4 |1 |n |
-------------------------------------------------
|110 |n |Sign |d(0) ... d(n-1) |
-------------------------------------------------
Sign是符号,0是正,1是负。
B = 256
(d0*B^0 + d1*B^1 + d2*B^2 + ... d(n-1)*B^(n-1))

8.20 SMALL_ATOM_EXT
---------------------------------
|1 |1 |Len |
---------------------------------
|115 |Len |AtomName |
---------------------------------
Table 8.26:
Len 1字节无符号长度。


推荐阅读
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
author-avatar
tomorrow
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有