要获得基数B中数字N的十进制等值,我可以B#N
,因此16#F
输出15
,2#1111
也输出15。
要将数字(比如15)从十进制转换为二进制,我可以integer_to_list(15,2)
输出"1111"
,可以通过执行list_to_integer
将其作为数字。因此,list_to_integer(integer_to_list(15,2)) + 1.
完全有效并输出1112
。
我检查is_integer
和is_number
是否true
检查了list_to_integer(integer_to_list(15,2))
,我还能够转换回list_to_integer(integer_to_list(15,2), 2)
并返回{{ 1}}。
但是当我尝试15
时,为什么它会给我一个错误2#list_to_integer(integer_to_list(15,2))
而不是*1: illegal integer
?
答案 0 :(得分:1)
同样的事情:
2> Name = "Yogesch".
"Yogesch"
3> "Name".
"Name"
4>
8> "list_to_integer(integer_to_list(10))".
"list_to_integer(integer_to_list(10))"
每种计算机编程语言都有语法规则。语法2#10101
用于整数文字。值得注意的是,2#
不是函数的名称,因此您无法写2#("1010")
,也不会:
10> X = "1010".
"1010"
11> 2#(X).
* 1: illegal integer
2#
和a space
是整数文字的分隔符,就像引号是字符串的分隔符(然后将其解释为整数列表)。