从数字数组中获取一个数字

2023-12-01

要将数字拆分为给定基数的数字,Julia 有:digits()功能:

julia> digits(36, base = 4)
3-element Array{Int64,1}:
 0
 1
 2

逆向操作是什么?如果你有一个数字数组和基数,是否有一个built-in如何将其转换为数字?我可以将数组打印为字符串并使用parse(),但这听起来效率很低,而且对于碱基 > 10 也不起作用。


前面的答案是正确的,但还有一个效率问题:

sum([x[k]*base^(k-1) for k=1:length(x)])

在求和之前将数字收集到一个数组中,这会导致不必要的分配。跳过括号以获得更好的性能:

sum(x[k]*base^(k-1) for k in 1:length(x))

这还会在求和之前分配一个数组:sum(d.*4 .^(0:(length(d)-1)))

不过,如果您确实想要良好的性能,请编写一个循环并避免重复求幂:

function undigit(d; base=10)
    s = zero(eltype(d))
    mult = one(eltype(d))
    for val in d
        s += val * mult
        mult *= base
    end
    return s
end

这有一个额外的不必要的乘法,你可以尝试找出某种方法来跳过它。但在我的测试中,性能比其他方法好 10-15 倍,并且分配为零。

Edit:上面的类型处理实际上存在轻微的风险。如果输入向量和base有不同的整数类型,可以得到类型的不稳定性。这段代码应该表现得更好:

function undigits(d; base=10)
    (s, b) = promote(zero(eltype(d)), base)
    mult = one(s)
    for val in d
        s += val * mult
        mult *= b
    end
    return s
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从数字数组中获取一个数字 的相关文章

  • 如何创建并推送到共享或分布式数组数组?

    我编写了 Julia 代码 其中初始化一个空数组 如下所示 a 稍后在代码中 我简单地推送到该数组 如下所示 推 a b 其中 b c d e 是另一个数组 每个 b 可以具有不同的长度 这在非并行化代码中工作得很好 但是 我想在并行代码中
  • 高尔夫代码:ASCII 艺术编号 [重复]

    这个问题在这里已经有答案了 可能的重复 代码高尔夫 横幅生成 https stackoverflow com questions 2985540 code golf banner generation 发布您将数字转换为 ASCII 艺术数
  • Julia 似乎没有使用字符串来执行插值

    官方文档指出 连接和字符串插值调用string 将对象转换为字符串形式 然而 以下最小工作示例似乎证明了其他情况 type MyType x Int end import Base string Base string m MyType w
  • Julia JUMP Gurobi MIP - 查询并存储最佳目标并在运行时绑定

    我通过 Julia 中的 JuMP 包使用 Gurobi 来解决混合整数程序 我想获得一个图表像这个 https i stack imgur com 427LC png 其中还提供了基于 Python 的解决方案 也已在古罗比社区形式 ht
  • C:如何将多位数分解为单独的变量?

    假设我在 C 中有一个多位整数 我想将它分解为一位数整数 123会变成1 2 and 3 我该如何做到这一点 特别是如果我不知道整数有多少位 int value 123 while value gt 0 int digit value 10
  • Julia:如何使用 PyPlot 创建不同大小的子图?

    我想创建一个包含多个绘图的图形 不过我希望能够使每个图具有不同的大小 例如 我希望第一个子图的宽度大约是第二个子图的两倍 我希望做这样的事情 using PyPlot a rand 500 900 b rand 500 400 notice
  • GitHub Web UI 中的“base”和“head”存储库是什么?

    GitHub 的 UI 相当不直观且考虑不周 所以这里有一个问题 什么是 头 回购 什么是 基础 回购 不知道是从哪一个抄来的 基础 和 头部 这两个词的意思是相同的 链表的 头 类似于树的 基 GitHub 有叉树和文件树 Head 和
  • 如何在 Julia 中保存文件

    在某些时候 我认为 Julia v0 7 你可以做 save savepath thingtosave为了使用 Julia 保存文件 我尝试在 v0 7 上运行它 看看是否收到弃用警告 但即使在 0 7 上 它也说 save未定义 如何使用
  • 如何在 Julia 中进行两个变量数值积分?

    我可以使用 Julia 在 Julia 中进行单变量数值积分quadgk 一些简单的例子 julia gt f x cos x f generic function with 1 method julia gt quadgk f 0 pi
  • 在 Julia 中解压缩元组数组

    假设我有一个元组数组 arr 1 2 3 4 5 6 使用 python 我可以做zip arr 1 3 5 2 4 6 朱莉娅中与此等效的是什么 作为 splatting 的替代方案 因为这非常慢 您可以执行以下操作 unzip a ma
  • 负整数的基数排序

    我正在尝试对整数 包括负整数 实现基数排序 对于非负整数 我计划为数字0 9创建一个10个队列的队列 并实现LSD算法 但我对负整数有点困惑 我现在的想法是继续为它们创建另一个包含 10 个队列的队列 并分别对它们进行排序 然后在最后 我将
  • 是否可以在运行时在 Julia 中创建类型?

    假设我想要一个以下形式的函数 abstract RecordType function CreateRecordType fields names Vector ASCIIString type name ASCIIString magic
  • 是否可以从 Julia 调用 Python 函数并返回其结果?

    我正在使用 Python 从网络上抓取数据 我想使用这些数据在 Julia 中运行计算 是否可以在 Julia 中调用该函数并返回其结果 或者我最好直接导出到 CSV 并以这种方式加载数据 绝对地 看PyCall jl https gith
  • 终止 Julia 数组理解中的 For 循环

    我在 Julia 中有以下代码行 X i i 2 for i in 1 100 if i 2 5 0 基本上 它返回一个元组列表 i i 2 from i 1 to 100如果剩余的i 2 and 5为零 我想做的是 在数组理解中 跳出 f
  • 如何一步步执行Julia脚本?

    Julia 有什么方法可以在 REPL 中逐步执行现有脚本 同时能够修改 绘制数组吗 以Matlab调试为例 注意 我特别要求 0 4 版本 希望能够实现新的调试系统 您有几个选择 The 调试包 https github com toiv
  • PHP 中的基本 URL

    我有一个两难的困境 它已经困扰我很长一段时间了 我有一个本地测试服务器 其设置如下 127 0 0 1 我的网站在离线模式下如下所示 127 0 0 1 websitename index php 我的网站实时版本如下所示 websiten
  • 使用 Julia Plots 访问后端特定功能

    Plots简单而强大 但有时我想对情节的各个元素有更多的控制 以微调其外观 是否可以直接更新后端的绘图对象 例如 对于默认的pyplot后端 我试过了 using Plots p plot sin p o axes 1 xaxis set
  • 从 Julia 更新 C 结构体的字段值

    我的问题很简单 但我不知道最好的方法 或者 Julia 目前没有提供这样的方法 如何从 Julia 设置 C 结构的字段值 假设您有一个结构类型来表示 C 库中树的节点 typedef struct node s int type node
  • Julia:将 1x1 数组从内积转换为数字

    从内积运算而不是 1x1 数组中获取数字的最佳方法是什么 还有比这更好的方法吗 1 2 3 4 5 6 1 如果可能的话 我不会手动进行内积 我会使用dot i e dot 1 2 3 4 5 6 我注意到你实际上并没有向量 相反你有1x3
  • 如何解决函数签名中的“UndefVarError:T未定义”

    我正在尝试运行 其他人的代码 看起来像 function f T lt Number n Int alpha T beta T end 当 使用 该文件时我得到 UndefVarError T not defined Stacktrace

随机推荐

  • 如何在 C# 中低延迟/极少延迟地播放音频文件?

    如何在 C 中以极小的延迟播放音频文件 mp3 我的意思是 文件应该在提供用户输入后立即开始播放 然后再播放 另外 如何同时并行播放两个音频文件 看看NAudio图书馆 要同时播放多个文件 请参阅这个帖子
  • 使用 JButton 将鼠标悬停在事件上

    我正在尝试在 JButton 上创建自定义鼠标悬停事件 原因是我的 JButton 当前是一个图像 所以我必须删除所有边框和动画等等 所以我这样做了 btnSinglePlayer setOpaque false btnSinglePlay
  • Spark 将隐藏参数添加到 Scala 类的构造函数中

    我不知道如何解释这一点 但 Spark 似乎向构造函数添加了一个隐藏 隐式 参数 这是我尝试过的代码spark shell 在常规 Scala shell 中参数列表将为空 scala gt class A defined class A
  • 使用 Rendertron 进行服务器端渲染 - 不带 firebase 的 Angular 5

    我使用 rendertron 作为服务器端渲染的解决方案 下面是 index js 文件 如何执行index js以及在哪里执行 我已经在我的服务器上使用 docker 设置了自己的 redertron 实例 并且我的角度应用程序构建位于
  • 将静脉坐标转换为 GPS

    我正在使用从以下位置导入的真实街道网络打开街道地图用于静脉模拟 例如卢森堡情景来自拉拉 科德卡 现在 为了准备可视化 使用 Google Earth 我想将模拟中的车辆位置从 SUMO 或 OmNET 坐标导出到 GPS 坐标 作为材料 我
  • 在多租户 Web 应用程序中使用事件委托

    我正在使用 asp net Mvc 5 开发一个多租户 n 层 Web 应用程序 在我的服务层中 我为每个重要操作定义自定义事件 并在执行这些操作后引发这些事件 例如 Public event EventHandler EntityCrea
  • Angular $resource.get 可以处理 GET 的数组和非数组吗?

    我可以通过两种方式通过 ID 获取 REST 资源 GET users 1 GET users 1 2 第一个返回单个对象 例如 id 1 name John 而第二个返回一个数组 例如 id 1 name John id 2 name J
  • 无法关闭 X 按钮上的多线程 Tkinter 应用程序

    我的应用程序具有以下结构 import tkinter as tk from threading import Thread class MyWindow tk Frame constructor methods etc def main
  • 不断上传 php $_FILES 错误 = 3(部分上传)

    我正在使用 Yii 框架的 dropzone 扩展来由注册用户上传一些文件 一切正常 但某些用户尝试上传的某些文件返回错误 3 当上传的文件仅部分上传时 就会发生这种情况 file error FILES Project error fil
  • 为什么某些 Typescript 模块名称以字符串形式给出?

    通常 Typescript 模块的声明如下 declare module MyModule 但有时我也看到它 declare module MyModule 我想知道将名称作为字符串给出的目的是什么 我检查了Typescript 文档并发现
  • 防止 WinForms PictureBox 动画 GIF 在处理过程中暂停?

    我有一个带有 2 个控件的表单 控件 1 有多个搜索条件 用户可以单击按钮开始搜索 Control 2 有一个将显示搜索结果的 GridView 还有一个带有动画 Gif 的 PictureBox 控制 1 中有一个方法 该方法有一个嵌套的
  • 如何使用 EF FromSql 编写 In 子句?

    我的条款有未知数量的参数 我该如何编写它才能与 EF Core 一起使用 var formattedValues String Join values Select s gt s var identifierParam new SqlPar
  • 如何在 Haskell 中建模分层数据类型?

    我有很多类型 它们的层次结构存储了一些有用的信息 我试图避免将类型层次结构的知识融入到对其进行操作的函数中 以下是斯坦福自然语言处理的类型依赖的一小段摘录 root root dep dependent aux auxiliary auxp
  • NetLogoBehaviorSpace内存大小限制

    在我的模型中 我使用行为空间来执行多次运行 每次运行都会更改变量 并将输出存储在 csv 中以供以后分析 该模型在前几次迭代中运行良好 但随着数据的增长而速度很快变慢 我的问题是 在行为空间中使用文件刷新会有所帮助吗 或者有办法解决吗 Ch
  • Spine.js 和 Hem:入门

    我成功创建了一个 Spine 应用程序 如 Spine 上所述入门页 然而 Hem 不会自动考虑我的更改 我必须手动构建 我关注的时候也遇到同样的问题联系截屏视频 但这次 Hem 根本不构建 art mac spine contacts a
  • 在一个 Person 中定义多个 URL

    我正在定义一个 Schema orgPerson我的网站上的项目使用微数据 其中大部分是不言自明的 然而 摘要页面上的每个迷你个人资料都有三个 URL 其中一个链接到该人的完整信息ProfilePage 还有 LinkedIn 和 Twit
  • 为什么我们在 Windows 中需要 CURLOPT_SSL_VERIFYPEER

    我将解释一下我的脚本 以便您能够理解我的问题 基本上我做了一个脚本来检查 SOCKS5 是否是live or dead 当我测试我的脚本时Linux VPS and iMac它工作得很好 但是当我在 Windows 上测试它时wampser
  • 全屏相机显示/预览不保持纵横比 - 图像会倾斜、拉伸以适合屏幕

    我开发了一个小应用程序 用于全屏显示相机预览 我为此使用相机 API 这是活动布局
  • JPA或Hibernate生成一个(非主键)列值,不从1开始

    我想要一个 JPA Hibernate 最好是 JPA 注释 它可以生成列的值 该值不是主键 并且不是从 1 开始 据我所知 JPA 无法使用 GenerateValue SequenceGenerator 和 TableGenerator
  • 从数字数组中获取一个数字

    要将数字拆分为给定基数的数字 Julia 有 digits 功能 julia gt digits 36 base 4 3 element Array Int64 1 0 1 2 逆向操作是什么 如果你有一个数字数组和基数 是否有一个buil