官术网_书友最值得收藏!

Binaries

A binary is group of consecutive bytes. You create them by surrounding the byte sequence with << and >>. Here we are creating a two-byte binary:

iex> <<5, 10>>
<<5, 10>>

In the decimal base, a byte can only contain values up to 255 (otherwise it overflows). If we want to store values greater that 255, we need to tell the runtime to use more space to store this binary:

iex> <<5, 256>>
<<5, 0>>
iex> <<5, 256::16>>
<<5, 1, 0>>

As you can see, when we specify the size (16 bits in this case) we can see that the output as an extra byte and the overflow didn't occur. The size doesn't have to be a multiple of 8. In that case, a binary is usually called a bitstring.

Most programmers will not handle data at such a low level, so your use of binaries may not be that frequent. However, they're extremely useful in certain scenarios, such as processing the header of a file to find a magic number and identify the file type, or even when dealing with network packets by hand.

主站蜘蛛池模板: 普定县| 普安县| 潼关县| 绥化市| 前郭尔| 安顺市| 合川市| 黄浦区| 综艺| 大同县| 内黄县| 泸州市| 毕节市| 孟连| 巴林右旗| 普陀区| 连云港市| 旬阳县| 房山区| 陵水| 调兵山市| 和林格尔县| 乐陵市| 穆棱市| 鲁甸县| 泸定县| 柞水县| 涞水县| 亳州市| 宜丰县| 自治县| 中江县| 连城县| 科尔| 禄丰县| 高州市| 西平县| 朝阳县| 桂林市| 汨罗市| 丹江口市|