news 2026/4/18 12:24:54

【RUST】学习笔记-整型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【RUST】学习笔记-整型

打不过就加入:
C++今天已经40年,我用C++编程也已15年。虽然网上有很多看衰C++的看法,但我始终坚信C++会有它顽强的生命力。
但最近看到RUST已经在Linux转正了,所以我打算加入RUST,看看它到底有何魔力。

另外也是为了水点文章,获取“流量券”

文章目录

  • 整型
    • 隐式整型越界的处理
    • 显式整型越界的处理
    • 字面量

整型

RUST中的整型类型基本上等于C++标准<cstdint>头文件中定义的整型对应。

类型含义
u88bits 无符号整型
i88bits 有符号整型
u1616bits 无符号整型
i1616bits 有符号整型
u3232bits 无符号整型
i3232bits 有符号整型
u6464bits 无符号整型
i6464bits 有符号整型
u128128bits 无符号整型
i128128bits 有符号整型
usize机器字宽度的无符号整型
isize机器字宽度的有符号整型

机器字宽度是CPU架构的地址位宽度,32位架构(x86,aarch32等)为32bits,64位架构(x86_64,aarch64等)为64bits。

隐式整型越界的处理

C++对整型计算时发生越界时的行为没有明确定义,而RUST做出了定义。

  • 在debug版本中,整型越界会出现panic。
  • 在release版本中,整型越界会用计算结果与当前类型的最大值取模。

显式整型越界的处理

Rust的标准库中提供四种整型运算方法。这些方法在debug和release版本中的行为是一致的。

方法行为
checked_${alg}返回Option类型,没越界时返回Some(v),溢出时返回None
wrapping_${alg}没越界时返回结果,越界时返回结果与可表示最大值的取模
saturating_${alg}没越界时返回结果,越界时,如果值离最大值近返回最大值,如果值离最小值近返回最小值
overflowing_${alg}返回(result, overflowed)。result为wrapping_${alg}的结果,overflowed为布尔值标识是否越界

上表中${alg} 可以是

标识含义
add加法
sub减法
mul乘法
div除法
rem去余
neg取负
abs取绝对值
pow
shl按位左移
shr按位右移

字面量

  • 在定义字面量时需要在数字后面添加类型后缀以标识数字的类型
  • 数字之间可以使用_进行分割增加可读性
  • 0x、0o 和 0b前缀分别标识十六进制、八进制和二进制

如:

116i8//i8类型字面量0xFFFF_FFFFu32//无符号32bits字面量
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 11:05:08

项目解决方案:某公司食堂AI识别建设解决方案

目录 第一章 项目背景 1.1 食品安全管理需求背景 1.2 技术发展背景 1.3 企业责任与形象背景 第二章 需求确认 2.1 实时监控需求 2.2 AI识别需求 2.3 多平台访问与预警需求 2.4 数据存储与分析需求 第三章 需要解决的问题及其复杂性 3.1 确保AI识别算法的准确性与可靠…

作者头像 李华
网站建设 2026/4/18 8:48:14

Langchain-Chatchat与大模型Token结合应用案例解析

Langchain-Chatchat 与大模型 Token 处理的深度实践 在企业知识管理日益复杂的今天&#xff0c;如何让堆积如山的技术文档、制度文件真正“被用起来”&#xff0c;而不是躺在服务器里积灰&#xff1f;一个典型的场景是&#xff1a;新员工入职后想查年假政策&#xff0c;翻遍共享…

作者头像 李华
网站建设 2026/4/17 15:26:26

Open-AutoGLM为何越跑越慢?:从底层机制到实时优化的完整解答

第一章&#xff1a;Open-AutoGLM为何越跑越慢&#xff1f;在部署和持续运行 Open-AutoGLM 的过程中&#xff0c;许多开发者反馈其推理延迟逐渐升高&#xff0c;吞吐量下降。这一现象并非源于模型结构本身&#xff0c;而是与系统资源管理、缓存机制及动态计算图的累积效应密切相…

作者头像 李华
网站建设 2026/4/18 11:05:03

Open-AutoGLM本地数据保护全方案(企业合规与隐私防护双保障)

第一章&#xff1a;Open-AutoGLM 本地部署数据安全概述在企业级AI应用中&#xff0c;将大语言模型如Open-AutoGLM进行本地化部署已成为保障敏感数据不出域的重要手段。本地部署不仅提升了系统响应速度&#xff0c;更关键的是实现了对数据流转全过程的可控性与可见性&#xff0c…

作者头像 李华
网站建设 2026/4/18 9:44:21

python 收发信的功能。

邮箱客户端实现 该Python代码实现了一个2925.com邮箱客户端类&#xff0c;主要功能包括&#xff1a; 发送邮件&#xff1a; 支持纯文本和HTML格式邮件 使用SMTP_SSL协议通过465端口发送 包含发件人、收件人和主题设置 接收邮件&#xff1a; 通过IMAP4_SSL协议从993端口获取 提供…

作者头像 李华
网站建设 2026/4/17 13:20:36

Open-AutoGLM权限管理实战:快速锁定并关闭高危操作通道

第一章&#xff1a;Open-AutoGLM权限管理的核心挑战在构建和部署 Open-AutoGLM 这类开源自动化大语言模型系统时&#xff0c;权限管理成为保障系统安全与合规运行的关键环节。由于其涉及多用户协作、API 调用链复杂以及敏感数据处理&#xff0c;传统的基于角色的访问控制&#…

作者头像 李华