当前位置: 首页 > news >正文

优秀企业网站建设公司wordpress 翻墙

优秀企业网站建设公司,wordpress 翻墙,平台的运营推广怎么做,官方网站app一、源码 这段代码定义了一个 NonZeroBinFrac trait,用于表示合法的二进制小数部分结构。它使用了 类型级编程(type-level programming) 来递归地构造任意长度的二进制小数部分。 use crate::number::{Null, I, BFrac, Bit};// 非零小数部分…

一、源码

这段代码定义了一个 NonZeroBinFrac trait,用于表示合法的二进制小数部分结构。它使用了 类型级编程(type-level programming) 来递归地构造任意长度的二进制小数部分。

use crate::number::{Null, I, BFrac, Bit};// ===== 非零小数部分实现 =====
/// 标记合法的小数部分结构体
pub trait NonZeroBinFrac: Default {}// 基础实现:最低位小数位
impl NonZeroBinFrac for BFrac<I, Null> {}// 递归实现:更高位小数位
impl<H: Bit, L: NonZeroBinFrac> NonZeroBinFrac for BFrac<H, L> {}

二、代码解析

  1. 导入依赖

use crate::number::{Null, I, BFrac, Bit};
  • Null: 表示类型级编程中的 “终止” 或 “空” 类型(类似于链表末尾的 None)。

  • I: 代表二进制位 1(Bit 的一种实现)。

  • BFrac<H, L>: 一个二进制小数部分的类型,其中:

    • H 是当前最高位(Head),必须实现 Bit(二进制位)。

    • L 是剩余部分(Tail),可以是 Null 或另一个 BFrac。

  • Bit: 表示二进制位的 trait(可能包括 0 和 1)。

  1. NonZeroBinFrac Trait

pub trait NonZeroBinFrac: Default {}
  • 这个 trait 标记 一个类型是合法的二进制小数部分。

  • 它继承 Default,意味着所有实现它的类型必须可以构造默认值(如 0.0 或 0.1 等)。

  • 它本身没有方法,仅用于类型约束(类似 std::marker::PhantomData)。

  1. 基础情况(Base Case)

impl NonZeroBinFrac for BFrac<I, Null> {}
  • 表示最低位是 1,后面没有更多位 的小数(如 0.1)。

  • BFrac<I, Null> 的结构:

    • I(1)是当前位,

    • Null 表示终止(没有更多小数位)。

  1. 递归情况(Recursive Case)

impl<H: Bit, L: NonZeroBinFrac> NonZeroBinFrac for BFrac<H, L> {}
  • 表示更高位的小数(如 0.101 或 0.011 等)。

  • BFrac<H, L> 的结构:

    • H 是当前最高位(0 或 1),必须实现 Bit。

    • L 是剩余部分,必须实现 NonZeroBinFrac(递归约束)。

  • 这个实现允许无限扩展小数位数(如 0.1010101…)。

三、示例

假设我们有以下二进制小数:

  1. 0.1 → BFrac<I, Null>

  2. 0.01 → BFrac<O, BFrac<I, Null>>(O 是 0 的 Bit 实现)

  3. 0.101 → BFrac<I, BFrac<O, BFrac<I, Null>>>

这些结构都会实现 NonZeroBinFrac,因为它们最终递归终止于 BFrac<I, Null>。

四、总结

  • 这段代码定义了一个 类型级二进制小数系统,确保所有合法的小数部分都能被正确构造。

  • 它使用递归 trait 实现来约束合法的结构:

    • 基础情况:0.1(BFrac<I, Null>)。

    • 递归情况:0.xxxx(更高位的小数)。

  • 这种设计常用于 类型安全的数值计算,例如在编译期确保小数部分的合法性。

http://www.dtcms.com/a/444399.html

相关文章:

  • 柔造网站定制商标设计免费的app
  • 横向网站北京建设招标信息网站
  • 买个网站多少钱免费引流app下载
  • 在线支付网站制作有没有帮忙做推广的网站
  • 如何做企业网站规划微信朋友圈产品推广语
  • 详述网站建设的过程大连网站建设个人
  • 影响网站打开速度的因素wordpress中国加速
  • 网站开发服务商平台网站建设产品展示型的
  • 进入网站后台管理系统做境外旅游的网站
  • 外贸汽车网站有哪些学习网站建设的心得体会
  • 网站主机在哪里注册呢互联网金融网站建设
  • 微微营销官网广州营销优化
  • 广州高端网站建设定制免费网站空间 国外
  • 网站开发算是软件开发wordpress 用户登陆后跳转到首页
  • 巴彦淖尔市 网站建设海沧做网站
  • 软件网站建设方案wordpress 手机版
  • 南京网络推广网站建设公司网站优化排名软件哪些 最好
  • 建设网站流程队徽logo在线设计
  • 湖北钟祥建设局网站网页提示站点不安全
  • 医疗公司网站建设项目背景电子商务网站建设答辩记录
  • 城阳做网站公司学校网站建设市场
  • wordpress软件站主题网站开发 兼职
  • 网站怎么增加页面收录网站做不做301
  • 网站301重定向检测wordpress模板QQ评论
  • 做网站软文怎么弄公司网站制作公司倒闭
  • 做网站交付标准南宁会员网站制作
  • 做h5哪个网站好用佛山网站优化公司
  • 深度模型瘦身术:从100MB到5MB的工业级压缩实战
  • 建筑类电商网站玉林英文网站建设
  • 怎么做网站内容榆林网站建设公司