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中可用的逻辑运算符。

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

来源:LearnFk无涯教程网

运算符描述示例
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"或"异或"运算符

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

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

技术教程推荐

持续交付36讲 -〔王潇俊〕

如何做好一场技术演讲 -〔极客时间〕

TypeScript开发实战 -〔梁宵〕

性能测试实战30讲 -〔高楼〕

数据中台实战课 -〔郭忆〕

编程高手必学的内存知识 -〔海纳〕

李智慧 · 高并发架构实战课 -〔李智慧〕

大厂广告产品心法 -〔郭谊〕

后端工程师的高阶面经 -〔邓明〕

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