Erlang基础之整数
Posted IT萌新
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Erlang基础之整数相关的知识,希望对你有一定的参考价值。
任何编程语言都有一个基本的数值系统,而整数是编程语言数值系统中最基本的数据之一。
一、整数基础
Erlang中的整数和我们平常所用的整数完全一样。比如:
23 456 -108 984673
以上这些整数就和我们平常看到的数值完全一致,其意义也相同。
在计算机领域中,还常常使用与我们平常使用的整数不一样的整数。我们日常使用的整数是十进制整数,简单的说就是计数时是逢十进一。编程中有时我们还会用到非十进制整数,比如二进制数、八进制数和十六进数等。
在Erlang语言中我们可以直接使用2-36进制的整数,只要写法符合一定的规则即可,即在整数的前加上形如“2#”(表示二进制的数)字符即可。
比如:
2#100110 表示一个二进制整数
16#EFFF 表示一个十六进制整数
28#12 表示一个二十八进制的整数
当然了,我们比较常用的非十进制数绝大多数是二进制数、八进制数和十六进数等。
以上举例在Erlang交互式环境下实例如下图:
二、数的进制基础
不同进制的数,采用的都是进位计数制,这也是我们常用的十进制数的基础。所谓不同进制的数就是在计数时计满某值时,就向高位进一。而这里计满的值就是某种进制的数。
如十六进制的数,在计数时,每计满16时就向高位进一。
1.十进制数转为二进制数的简单方法:
首先,熟练掌握2的n次幂的值256,128,64,32,16,8,4,2,1,当我们看到一个十进制值时,将从这个十进制数中循环减去这些数值中不大于这个十进制值的最大数,并将该位置1,其余位置0即可。例如下图是把十进制数100转换为十进制的方法:
2.二进制数转为十进制数
只要将十进制数中,凡是为1的位对应的2的1所在的序数次幂加起来就行。
例如:
2#100110001
最低位是1,其序数0,最高位的1,其充数为8,其余的类推,即为:
2^8 + 2^5 + 2^4 + 2^0 = 305
三、Erlang中可使用整数的大小只受内存大小的限制,如下图:
以上是关于Erlang基础之整数的主要内容,如果未能解决你的问题,请参考以下文章