Erlang - 运算符

Erlang - 运算符 首页 / Erlang入门教程 / Erlang - 运算符

Erlang具有以下类型的运算符-

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 按位运算符

算术运算符

Erlang语言支持普通的算术运算符,就像任何一种语言一样,以下是Erlang中可用的算术运算符。

运算符描述示例
+1 + 2=3
-1 - 2=-1
*2 * 2=4
/2/2=1
rem余数3 rem 2=1
div 整数除法
3 div 2=1
-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   
   Res1 = X + Y, 
   Res2 = X - Y, 
   Res3 = X * Y, 
   Res4 = X / Y, 
   Res5 = X div Y, 
   Res6 = X rem Y, 
   
   io:fwrite("~w~n",[Res1]), 
   io:fwrite("~w~n",[Res2]), 
   io:fwrite("~w~n",[Res3]), 
   io:fwrite("~w~n",[Res4]), 
   io:fwrite("~w~n",[Res5]), 
   io:fwrite("~w~n",[Res6]).

上面程序的输出将是-

90
-10
2000
0.8
0
40

关系运算符

关系运算符允许比较对象。 以下是Erlang中可用的关系运算符。

运算符描述示例
== 等于
2=2=true
/= 不等于
3 /= 2=true
<小于2 < 3=true
=<小于或等于2 =<3=true
>大于 > 2=true
>=大于或等于3 >= 2=true
-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   io:fwrite("~w~n",[3==2]), 
   io:fwrite("~w~n",[3/=2]), 
   io:fwrite("~w~n",[3<2]), 
   io:fwrite("~w~n",[3=<2]), 
   io:fwrite("~w~n",[3>2]), 
   io:fwrite("~w~n",[3>=2]).

上面程序的输出将是-

false
true
false
false
true
true

逻辑运算符

这些逻辑运算符用于布尔表达式。 以下是Erlang中可用的逻辑运算符。

运算符描述示例
or true or false=true
andtrue and false=flase;
notnot false=true
xor true xor false=true
-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   io:fwrite("~w~n",[true or false]),  
   io:fwrite("~w~n",[true and false]), 
   io:fwrite("~w~n",[true xor false]), 
   io:fwrite("~w~n",[not false]).

上面程序的输出将是-

true
false
true
true

按位运算符

Erlang提供了四个按位运算符。以下是Erlang中可用的按位运算符。

Sr.No.运算符&描述
1

band

这是按位"and"运算符

2

bor

这是按位"or"运算符

3

bxor

这是按位"xor"或"异或"运算符

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-operators.html

来源:LearnFk无涯教程网

4

bnot

这是按位取反运算符

以下是展示这些运算符的真值表-

pqp & qp | qp ^ q
00000
01011
11110
10011
-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   io:fwrite("~w~n",[00111100 band 00001101]), 
   io:fwrite("~w~n",[00111100 bxor 00111100]), 
   io:fwrite("~w~n",[bnot 00111100]), 
   io:fwrite("~w~n",[00111100 bor 00111100]).

上面程序的输出将是-

76
0
-111101
111100

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

玩转Spring全家桶 -〔丁雪丰〕

接口测试入门课 -〔陈磊〕

如何看懂一幅画 -〔罗桂霞〕

物联网开发实战 -〔郭朝斌〕

说透数字化转型 -〔付晓岩〕

PyTorch深度学习实战 -〔方远〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)