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
相关推荐
是店小二呀3 小时前
五分钟理解Rust的核心概念:所有权Rust
开发语言·后端·rust
IT_Beijing_BIT4 小时前
Rust入门
开发语言·后端·rust
q***23926 小时前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
百锦再7 小时前
第15章 并发编程
android·java·开发语言·python·rust·django·go
byte轻骑兵8 小时前
Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路
android·c++·rust
Source.Liu9 小时前
【Chrono库】Chrono Traits 模块解析(traits.rs)
rust·time
穆雄雄18 小时前
Rust 程序适配 OpenHarmony 实践:以 sd 工具为例
开发语言·rust·harmonyos
Easonmax1 天前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
百锦再1 天前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
小羊失眠啦.1 天前
深入解析Rust的所有权系统:告别空指针和数据竞争
开发语言·后端·rust