Rust in Action笔记 第五章 深入理解数据

这篇具有很好参考价值的文章主要介绍了Rust in Action笔记 第五章 深入理解数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 如果希望看到f32类型的数转换成整型数字u32类型,需要在unsafe包裹下调用std::mem::transmute(data),因为在安全的Rust语法中没有把整型数据按照bit转换成浮点数据的实现,如果想要看到浮点数的二进制输出(通过{:b}),需要先通过unsafe把浮点数转换成整型数再输出;
  2. 大端(big endian)和小端(little endian)区别在于大端表示法的高位先写,例如123,高位为1,低位为3,大端表示法的写法是123,小端表示法的写法是321,大小端的高低位的单位通常是字节Byte;
  3. 浮点数的构成,符号位(sign),有效数(mantissa),底数(base),指数(exponent),图5.1给出了一个32位的浮点数的组织方式;Rust in Action笔记 第五章 深入理解数据
  4. 单目运算符负号-的优先级低于方法调用,所以对于一个负数调用其方法的时候要用括号包裹起来,例如(-1.0)_f32.powf(0.0)-1.0_f32.powf(0.0)的逻辑是不一样的,前者是 ( − 1 ) 0 (-1)^0 (1)0 而后者是 − ( 1 0 ) -(1^0) (10)
  5. PartialEq可以让数据通过等号==来比较,即只需要值相等即可,Eq可以让数据转化成任何合理的值来进行比较,要求数据在bit级别都要相等(可能存在某些表示法让不同的bitmap值相等的情况),Eq的要求比PartialEq更加严格,Eq的调用可以用person1.eq(&person2)
  6. 为自定义数据实现std::convert::From可以实现通用数据类型自动转换成自定义数据,具体可见Page155;
  7. 可以为模块(mod)、类型(struct)、枚举(enum)等加上前缀pub来使之成为公有的,pub的使用有多种类型,pub(crate)可以暴露给整个crate的其他模块,pub(super)仅暴露给父模块,pub(in path)仅暴露给指定路径的模块,pub(self)显式地声明该模块是私有的(private);
  8. 5.7节实现了一个简单的CPU功能,包含加法器、乘法器,主要跟指令架构和数字表示有关;

文章来源地址https://www.toymoban.com/news/detail-493228.html

到了这里,关于Rust in Action笔记 第五章 深入理解数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (CDA数据分析师学习笔记)第五章多维数据透视分析一

    商业智能报表:BI报表。 ETL: 全称 Extract-Transform-Load ,即提取(extract)、转换(transform)、加载(load)。 E 是第一步对源数据进行抽取,源数据主要来源于业务系统、文件数据、第三方数据。T是第二步,对数据进行适当处理,目的是为了下一步的加载。主要是筛选(有价值

    2024年04月11日
    浏览(30)
  • 数据结构(c++语言版) 邓俊辉 第五章:二叉树学习笔记

    5.1二叉树及其表示         树是由节点和边组成的。 1.有根树         树是由顶点(vertex)和边(edge)组成。树的每个顶点也叫节点(node)。 2.深度与层次         由树的连通性,每一节点与根都有一条路径相连:根据树的无环性,由根通往每个节点的路径必然唯一。  

    2024年02月13日
    浏览(31)
  • 深入理解数据结构第五弹——排序(2)——快速排序

    排序(1): 深入了解数据结构第四弹——排序(1)——插入排序和希尔排序-CSDN博客 前言: 在前面我们已经讲过了几种排序方式,他们的效率有快有慢,今天我们来学习一种非常高效的排序方式——快速排序 目录 一、快速排序的思想 二、快速排序的递归实现 2.1 霍尔法

    2024年04月15日
    浏览(35)
  • JAVA学习笔记——第五章 控制结构

    🔥 博客主页 : A_SHOWY 🎥 系列专栏 :力扣刷题总结录 数据结构  云计算  数字图像处理  力扣每日一题_  流程控制总体介绍:决定程序是如何执行的,主要包括顺序控制、分支控制和循环控制 顺序控制:程序从上到下逐行执行,没有任何判断跳转 一个变量必须要先定

    2024年01月23日
    浏览(26)
  • 计算机网络-笔记-第五章-运输层

    一、第一章——计算机网络概述 二、第二章——物理层 三、第三章——数据链路层 四、第四章——网络层 五、第五章——运输层 六、第六章——应用层 目录 五、第五章——运输层 1、运输层概述 2、运输层端口号、复用、分用 (1)熟知端口号、登记端口号、短暂端口号

    2024年02月11日
    浏览(28)
  • 操作系统-笔记-第五章-输入输出管理

    一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】​编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理 🚀 学习心

    2024年02月11日
    浏览(33)
  • 《Flink学习笔记》——第五章 DataStream API

    一个Flink程序,其实就是对DataStream的各种转换,代码基本可以由以下几部分构成: 获取执行环境 读取数据源 定义对DataStream的转换操作 输出 触发程序执行 获取执行环境和触发程序执行都属于对执行环境的操作,那么其构成可以用下图表示: 其核心部分就是Transform,对数据

    2024年02月10日
    浏览(31)
  • java并发编程之美第五章读书笔记

    CopyOnWriteArrayList 线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数组(快照)进行的,也就是写时复制策略 类图 每一个对象里面有一个array数组进行存放具体的元素,ReentrantLock独占锁对象用来保证同时只有一个线程对array进行修改,这里只要记得ReentrantLock是独占锁

    2024年02月03日
    浏览(32)
  • Rx.NET in Action 第一章学习笔记

    什么是反应式程序?它们有什么用?使用反应式扩展(Rx)编程,会如何改变你编写代码的方式?在开始使用 Rx 之前应该做些什么?为什么 Rx 比传统的事件驱动编程更好? 这些都是我们将在前三章开始讨论的问题。 你将了解什么是反应式系统及反应式程序,以及为什么要关

    2024年02月13日
    浏览(31)
  • Rx.NET in Action 第四章学习笔记

    《Rx.NET in Action》这一部共分八章,涵盖了Rx 关键模块——**Observable(可观察序列) 和 Observer(观察者)**的全部功能,以及如何创建它们、连接它们和控制它们之间的关系。 然后,您将学习如何使用强大的 Rx 处理器构建复杂的 Rx 管道。您将学习使用处理器查询 单个 Observable(可观

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包