积分运算符 quot 与 div

2024-04-05

类型类 Integral 有两个操作quot and div,但在 Haskell 2010 语言报告中并没有具体说明它们应该做什么。假如说div是积分除法,什么quot不同,或者目的是什么quot?什么时候使用其中一个,什么时候使用另一个?


引用 Haskell 报告中的第 6.4.2 节:

The quot, rem, div, and mod如果 y 非零,类方法满足这些定律:

(x `quot` y)*y + (x `rem` y) == x  
(x `div`  y)*y + (x `mod` y) == x

quot是整数除法向零截断,而结果div被截断为负无穷大。

The div函数通常是更自然使用的函数,而quot函数对应于现代机器上的机器指令,因此它的效率更高。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

积分运算符 quot 与 div 的相关文章

  • GHC 可以为 monad 转换器派生 Functor 和 Applicative 实例吗?

    我正在尝试实施MaybeT本着mtl图书馆 使用这个非编译解决方案 LANGUAGE FlexibleInstances MultiParamTypeClasses UndecidableInstances import Control M
  • 如何使用 Haskell 中的 thyme 库从 Int 值创建 UTCTime?

    我有年 月 日 小时和分钟值 所有这些都是类型Int 我怎样才能将它们转换为UTCTime or UniversalTime 需要导入以下内容 import Control Lens import Data Thyme Clock impo
  • 生成所有可能的树

    给定以下数据类型定义 data FormTree Empty Node FormTree FormTree deriving Show 我想编写一个函数 它生成一个无限列表 其中包含按长度排序的所有可能的树 例如节点数量 下面的代码几乎满足
  • 整数转浮点数

    这段代码的工作原理 posToXY Float gt Float gt Integer posToXY a b do let y a b round y 但这不起作用 posToXY Integer gt Integer gt Intege
  • 类 GADT 类型变量的未来角色?

    A 昨天的问题 https stackoverflow com q 41135212 3072788有一个定义HList 来自HList https hackage haskell org package HList 0 4 1 0 doc
  • 将系统命令的结果绑定到 Haskell 中的变量

    如何在 Haskell 中运行系统命令and将其结果 即标准输出 绑定到变量 在伪 Haskell 中 我正在寻找类似以下内容的内容 import System Process main do output lt callCommand e
  • 如何为强制长度为 2^n 的向量类型定义可用的 Applicative 实例

    对于某些应用程序 我需要长度为 2 n 的向量 为了强制某些操作的长度匹配 我使用 ist 应用实例定义了我的类型 如下所示 LANGUAGE GADTs DataKinds FlexibleInstances FlexibleContex
  • 为什么 Parsec 的 sepBy 停止并且不解析所有元素?

    我正在尝试解析一些逗号分隔的字符串 该字符串可能包含也可能不包含具有图像尺寸的字符串 例如 hello world 300x300 good bye world 我写了下面的小程序 import Text Parsec import qua
  • 在 Haskell 中增长数组

    我想在 Haskell 中实现以下 命令式 算法 给定一个序列对 e0 s0 e1 s1 e2 s2 en sn 其中 e 和 s 部分不一定是自然数不同的是 在每个时间步都会随机选择该序列的一个元素 例如 ei si 并根据 ei si
  • 为什么 Haskell 的默认字符串实现是一个字符链接列表?

    Haskell 默认值的事实String众所周知 实现在速度和内存方面都效率不高 据我所知 lists一般来说 在 Haskell 中实现为单链表 并且适用于大多数小型 简单数据类型 例如Int 这似乎不是一个好主意 但是对于String这
  • Haskell 下划线与显式变量

    我已经学习 Haskell 几个星期了 我有一个关于下划线的使用的问题 作为函数参数 我认为用一个具体的例子来问我的问题会更好 假设我想定义一个函数 根据提供的索引提取列表的元素 是的 我意识到 已经是预先定义的 我可以定义该函数的两种方法
  • 纯函数怎么能做IO呢?

    我最近了解到莫纳德随机数 http hackage haskell org package MonadRandom 0 1 13 docs Control Monad Random Class html t 3aMonadRandom图书馆
  • Haskell,堆栈:找到可执行文件

    我正在寻找类似的东西 stack whereis hasktags where whereis行为或多或少类似于 UNIXwhereis命令 hasktags是这样运行的 stack exec hasktags stack exec whe
  • Haskell 泛化问题(涉及列表理解)

    假设我想知道a上的所有要点 x y 矩形内的平面has 我可以使用列表推导式来计算 如下所示 let myFun2D x y x lt 0 2 y lt 0 2 现在 如果我想为一个人完成同样的事情 x y z 空间 我可以采取同样的方式并
  • 使用 FoldLine 解析多个块

    对于这个简化的问题 我试图解析一个如下所示的输入 foo bar baz quux woo hoo xyzzy glulx into foo bar baz quux woo hoo xyzzy glulx 我尝试过的代码如下 import
  • Haskell 中列表列表的笛卡尔积

    给定一个长度列表的列表x所有子列表的长度都相同y 输出y x长度列表x包含每个子列表中的一项 例子 x 3 y 2 1 2 3 4 5 6 Output 2 3 8不同的输出 1 3 5 1 4 5 1 3 6 1 4 6 2 3 5 2
  • 简单 Haskell Monad - 随机数

    我正在尝试扩展代码这个帖子 https stackoverflow com questions 3944170 haskell and state 接受的答案 允许我能够基于以种子作为参数的函数 randomGen 调用 randomGen
  • QuickCheck是否可以生成任意函数

    我试图为身份编写一个 QuickCheck 测试 f y f y 我最初的计划是编写一个返回函数和整数的任意生成器 具有签名Gen Int gt Int Int 并在prop DollerDoesNothing使用 不使用测试该功能应用程序
  • 如何在haskell中获取变量名称

    我来到 haskell 时有一些 c 背景知识 想知道是否有类似的 define print a printf s d n a a int a 5 print a 应该打印 a 5 这是 augustss 提到的 TH 解决方案 LANGU
  • Haskell:IORef 的性能

    我一直在尝试在 Haskell 中编码一个需要使用大量可变引用的算法 但与纯粹的惰性代码相比 它 也许并不奇怪 非常慢 考虑一个非常简单的例子 module Main where import Data IORef import Contr

随机推荐

  • 如何安装imap客户端

    我正在尝试使用 IMAP 客户端库 https imapclient readthedocs org en stable https imapclient readthedocs org en stable 我下载了zip https py
  • `viewDidLayoutSubviews` 中的框架计算

    首先 我应该提到 这主要是一个效率问题 关于在哪里进行框架计算有很多讨论viewWillAppear太早了并且viewDidAppear太晚了 视图已经可见 常见的答案是进行帧计算viewDidLayoutSubviews 问题是 它被多次
  • Silverlight:如何禁用浏览器的刷新按钮?

    我正在开发一个 Silverlight 应用程序 即根本没有 HTML 内容 最大的抱怨之一是如果用户不小心按了 F5 应用程序就会重新启动 那么有什么办法可以禁用浏览器中的 刷新 按钮吗 或者至少处理F5 这里有几个选项 http for
  • Twitter 客户端中的自动链接@提及

    我正在构建一个基本的 Twitter 客户端应用程序 我正在尝试弄清楚如何使保存推文的 TextView 自动链接 提及 以便它们链接到任何人的 Twitter 页面 就像在 Twitter 网站上一样 我的猜测是 这将涉及制作一个自定义
  • 使用 Python evdev 模拟按住控制器 dpad 按钮

    我正在尝试使用 Python evdev 模拟按住控制器上的 DPad 按钮 到目前为止 我已经成功按下一个按钮 如下所示 import os import time from evdev import uinput ecodes as e
  • Active Records 按 ID 排序[重复]

    这个问题在这里已经有答案了 如果我有 id 为 1 2 3 4 的记录 并且想要以某种方式对它们进行排序 例如 1 4 2 3 我该怎么做 我想类似的东西 但它当然行不通 Service all order id 1 4 2 3 贾斯汀 韦
  • JVM 在 OutOfMemoryError 之后是否自行终止 [重复]

    这个问题在这里已经有答案了 发生 OutOfMemoryError 后 JVM 会自行终止吗 如果不是那么为什么 它会尝试收回资源吗 还是有其他原因 OutOfMemoryError 不会终止 JVM 如果它未被捕获 它将终止引发错误的线程
  • angularjs 获取表单操作并提交给它

    我有一个表单 我想捕获它的提交 检查数据的验证 然后将表单提交到 HTML 表单内的操作 div div
  • Jquery 验证自定义错误消息位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我正在尝试验证
  • 从点列表中获取两个最近的点

    我得到了一个整数 浮点数列表 我需要找到最接近的两个数字 我将如何仅使用嵌套 for 循环来做到这一点 如果点是一维的 就像您的输入只是一个数字列表 例如 1 4 6 2 那么你可以通过对它们进行排序并找到差异最小的在 O n log n
  • Reactjs - redux 表单和材质 UI 框架 - 具有自动类型 - 和清除字段功能

    我正在构建一个使用 redux 表单和材料 ui 框架的嵌套表单框架 迄今为止我已经在这里构建了组件 https codesandbox io s heuristic hopper lzekw https codesandbox io s
  • 在 GWT 中使数据网格的行可拖动

    我想制作一个数据网格 其中的行可以拖动 以便人们可以通过拖动行来上下移动行 由于数据网格的行将作为元素获取 我知道如何使小部件可拖动 但是如何使数据网格的行可拖动 我不想使用任何额外的插件或库来实现此目的 我所知道的唯一支持单元格小部件拖放
  • 如何配置 Hibernate 以立即应用所有保存、更新和删除?

    我该如何配置休眠 http www hibernate org 在会话执行每个操作后立即将所有保存 更新和删除应用到数据库服务器 默认情况下 Hibernate 将所有保存 更新和删除操作排入队列 并仅在经过一段时间后才将它们提交到数据库服
  • Scala:列表 [Tuple3] 到映射 [字符串,字符串]

    我得到的查询结果为List Int String Double 我需要将其转换为Map String String 用于在 html 选择列表中显示 我的破解方案是 val prices dao getPricing flatMap cas
  • 使用 Redux Observable 等待操作序列

    我有一个用例 在使用 Redux Observables 调度另一个操作之前 我需要等待一系列操作 我见过一些类似的问题 但我无法理解如何在给定的用例中使用这些方法 本质上我想做这样的事情 action ofType PAGINATION
  • 自定义内存管理器

    我正在尝试实现一个自定义内存管理器 我想知道是否有更好的方法来实现这个函数 因为当我被问及 void 指针算术时 有几个人认为如果我在 C 中有一个 void 那就太糟糕了错误的 allocates a page of memory voi
  • 为什么我的调试数据未格式化?

    var dump and print r使用 Laravel 4 时显示的数据未格式化 如何格式化数据以使其更具可读性 通过在命令行上运行以下命令将 Kint 添加到您的composer json composer require rave
  • Metamask 停止注入 web3.js

    据我们所知 从2020年1月13日开始 metamask将不再注入web3 js 我们应该采取哪些方法来停止对web3的依赖 另外 我们如何使用目前正在注入 web3 js 的现有 Metamask 来测试它 window ethereum
  • 为什么使用类方法而不是静态方法? [复制]

    这个问题在这里已经有答案了 我知道他们是做什么的 并且我见过很多这两个例子 但我还没有找到一个我必须使用的例子classmethod而不是用staticmethod 最常见的例子是classmethod我见过的是用于创建新实例类本身 就像这
  • 积分运算符 quot 与 div

    类型类 Integral 有两个操作quot and div 但在 Haskell 2010 语言报告中并没有具体说明它们应该做什么 假如说div是积分除法 什么quot不同 或者目的是什么quot 什么时候使用其中一个 什么时候使用另一个