rust运算

不同类型不能放在一起运算。如果非要计算,必须先强转成一个类型再运算。

一 、数字运算

(一)算术运算

a = 10且b = 5

名称 运算符 范例
+ a+b的结果为15
- a-b的结果为5
* a*b的结果为50
/ a / b的结果为2
求余 % a % b的结果为0

Rust语言不支持自增自减运算符 ++ 和 --

整数类型的最小值

assert_eq!(i32::MIN, -2147483648);

整数类型的最大值

assert_eq!(i32::MAX, 2147483647);

整数类型的位数

assert_eq!(i32::BITS, 32);

(二)位运算

A = 2且变量B = 3。

A的二进制格式为

0 0 0 0 0 0 1 0

B的二进制位格式为

0 0 0 0 0 0 1 1

名字 运算符 说明 范例
位与 & 相同位都是1则返回1否则返回0 (A & B) 结果为 2
位或 | 相同位只要有一个是1则返回1否则返回0 (A | B) 结果为3
异或 ^ 相同位不相同则返回1否则返回0 (A ^ B) 结果为1
位非 ! 把位中的1换成0,0换成1 (!B) 结果 -4
左移 << 操作数中的所有位向左移动指定位数,右边的位补0 (A << 1) 结果为4
右移 >> 操作数中的所有位向右移动指定位数,左边的位补0 (A >> 1) 结果为1

(三)布尔运算

1.比较运算

A = 10且B = 20

名称 运算符 说明 范例
大于 > 如果左操作数大于右操作数则返回true否则返回false (A > B) 返回false
小于 < 如果左操作数小于于右操作数则返回true否则返回false (A < B) 返回true
大于等于 >= 如果左操作数大于或等于右操作数则返回true否则返回false (A >= B) 返回false
小于等于 <= 如果左操作数小于或等于右操作数则返回true否则返回false (A <= B) 返回true
等于 == 如果左操作数等于右操作数则返回true否则返回false (A == B) 返回true
不等于 != 如果左操作数不等于右操作数则返回true否则返回false (A != B) 返回false

2.逻辑运算

A = 10且B = 20

名称 运算符 说明 范例
逻辑与 && 两边的条件表达式都为真则返回true否则返回false (A > 10 && B > 10) 的结果为 false
逻辑或 || 两边的条件表达式只要有一个为真则返回true否则返回false (A > 10 || B >10) 的结果为 true
逻辑非 ! 如果表达式为真则返回false否则返回true !(A >10) 的结果为 true
相关推荐
42tr_k9 小时前
Rust LanceDB 内存不足问题
rust
Source.Liu14 小时前
【Iced】benches 文件夹分析笔记
rust·iced
Source.Liu18 小时前
【glam】线性代数库 lib.rs 文件解析
rust·glam
大黄说说18 小时前
Rust 入门到实战:构建安全、高性能的下一代系统
开发语言·安全·rust
好家伙VCC18 小时前
# 发散创新:用 Rust构建高并发虚拟世界引擎核心模块在当今游戏开发与元宇宙构建中,**虚拟世界的性能瓶颈往往不是图形渲染,而是底
java·开发语言·python·rust·图形渲染
Mr -老鬼18 小时前
前后端联调避坑!Vue优先IPv6导致接口不通,Rust Salvo这样解决
前端·vue.js·rust
Source.Liu19 小时前
【glam】断言宏解析
rust·glam
咚为19 小时前
告别 lazy_static:深度解析 Rust OnceCell 的前世今生与实战
开发语言·后端·rust
Java水解1 天前
Rust异步编程实战:构建高性能网络应用
后端·rust
土豆12501 天前
Rust 实战:手把手教你开发一个命令行工具
前端·rust