需要有关将代码转换为 Matlab_extension 1 的建议

2024-03-13

这是之前提出的问题的扩展:link https://stackoverflow.com/questions/20851902/need-suggestion-on-code-conversion-to-matlab?noredirect=1#comment31280378_20851902。简而言之,我正在尝试将 C 程序转换为 Matlab,并寻求您的建议来改进代码,因为代码没有给出正确的输出。

C程序:

void prga(unsigned char S[], unsigned char out[], int len) {
    int i=0,j=0,x,t;
    unsigned char key;
    for (x=0; x < len; ++x) {
        i = (i + 1) % 256;
        j = (j + S[i]) % 256;
        t = S[i];
        S[i] = S[j];
        S[j] = t;
        out[x] = S[(S[i] + S[j]) % 256];
    }
}

Matlab程序:

function [out, i, j, S]=rc4out(i, j, S)
    %for x = 1:length(key) % It should not work here as no key mentioned
        i = mod( (i+1), 256);
        j = mod( j + S(i), 256);
        t = S(i);
        S(i) = S(j+1);
        S(j+1) = t;
        out = mod(S(S(i) + S(j+1), 256));

EDIT:

试试这个,它的想法与 c 函数相同:S应该>= 256否则你会超过它mod()可以返回这样的索引。我建议你改变256在函数中lenght提供解决这个问题。

在这里你不需要key多变的。

function out = prga(S, len)
    i=0; j=0; x=[]; t=[];
    for x=0:len-1
        i = mod(i+1, 256);
        j = mod(j+S(i+1), 256);
        t = S(i+1);
        S(i+1) = S(j+1);
        S(j+1) = t;
    out(x+1) = S(mod(S(i+1)+S(j+1), 256)+1);
    end
end

或者您可以使用key控制循环的变量

function out = prga(S, key)
    i=0; j=0; x=[]; t=[];
    for x=0:length(key)-1
        i = mod(i+1, 256);
        j = mod(j+S(i+1), 256);
        t = S(i+1);
        S(i+1) = S(j+1);
        S(j+1) = t;
    out(x+1) = S(mod(S(i+1)+S(j+1), 256)+1);
    end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要有关将代码转换为 Matlab_extension 1 的建议 的相关文章

  • 如何知道并加载特定文件夹中的所有图像?

    我有一个应用程序 C Builder 6 0 需要知道特定文件夹中的图像总数 然后我必须加载它们 在 ImageList 或 ComboBoxEx 中 或任何其他控件中 我怎样才能做到这一点 我知道如何在控件中加载图像 或保存在 TList
  • 如何向 UWP 项目添加 .NET dll 引用?

    我有几个适用于 NETv4 x 的 NET dll 项目 我将版本更改为 4 6 1 并重新构建 没有出现问题 当我尝试从 UWP 项目向它们添加引用时 出现错误 项目的目标是 NETCore 而文件引用的目标是 NET框架 这不是受支持的
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • .NET 可移植类库中的 .ToShortDateString 发生了什么

    我想知道为什么没有 ToShortDateString在 NET 可移植类库中 我有 2 个项目 Silverlight 和常规 NET 类库 使用相同的代码 并且代码涉及调用 ToShortDateString on a DateTime
  • 我应该在单元测试中使用 AutoMapper 吗?

    我正在为 ASP NET MVC 控制器方法编写单元测试 这些控制器依赖于IMapper 我创建的用于抽象 AutoMapper 的接口 使用 Castle Windsor 通过构造函数注入传入 动作方法使用IMapper从领域对象映射到
  • 浮点提升:stroustrup vs 编译器 - 谁是对的?

    在 Stroustrup 的新书 C 编程语言 第四版 第 10 5 1 节中 他说 在执行算术运算之前 整数提升用于从较短的整数类型创建整数 类似地 浮点提升是用于从浮点数创建双精度数 我用以下代码确认了第一个声明 include
  • 字节到二进制字符串 C# - 显示所有 8 位数字

    我想在文本框中显示一个字节 现在我正在使用 Convert ToString MyVeryOwnByte 2 但是 当字节开头有 0 时 这些 0 就会被删除 例子 MyVeryOwnByte 00001110 Texbox shows g
  • 阅读 Stack Overflow RSS 源

    我正在尝试获取未回答问题的列表the feed https stackoverflow com feeds 但我在阅读时遇到困难 const string RECENT QUESTIONS https stackoverflow com f
  • C中有const吗?

    这个问题可能很幼稚 但是 有没有constC 中的关键字 从哪个版本开始 之间有任何语义和 或句法差异吗const在 C 和 C 中 C 和 C 之间在语法上没有差异const关键字 除了一个相当晦涩的关键字 在 C 中 自 C99 起 您
  • CMake - 将预构建库链接到 C# 项目

    我正在使用 CMake 构建 C 库 该库依赖于已构建的库 dll 我似乎无法让图书馆链接到我的图书馆 我尝试过使用target link libraries mylib external lib 我也尝试过暴力破解 reference e
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • 抽象类和接口之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 接口与基类 https stackoverflow com questions 56867 interface vs base class 我不明白抽象类和接口之间的区别 我什么时候需要使用哪种字体
  • 在 Pari-GP 中嵌套特定递归

    每个人 我最初在 Stackexchange 上发布了类似的问题 它已移至此处 可以在链接中找到 在 Matlab 中声明函数递归序列 https stackoverflow com questions 67146061 declaring
  • 如何使用 Clang 查找内存泄漏

    我在我的机器 ubuntu 中安装了 Clang 以便发现我的 C 代码中的内存泄漏 我编写了一个示例代码来检查它的工作情况 如下所示 File hello c for leak detection include
  • 用 C# 编写的带有点击移动的 WPF 游戏

    我试图将标签网格移动到鼠标的位置 就像冒险游戏中的移动一样 理想情况下 我会在途中删除并重新绘制它们 但是 现在我只想弄清楚如何将 int 转换为厚度或 pointtoscreen 到目前为止我有 player XMove int Mous
  • 为什么我不能在扩展 List 的类中调用 OrderBy?

    我有一堂课 Deck 其中包含一个名为的方法Shuffle 我正在致力于重构Deck延长List
  • 在 MVVM 中,可以在视图后面的代码中访问 ViewModel 吗?

    在 MVVM 模式中 是否可以接受甚至可以访问视图代码后面的 ViewModel 属性 我有一个可观察的集合 它填充在 ViewModel 中 我需要在视图中使用它来绑定到带有链接列表的无限滚动条 IE private LinkedList
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn
  • ASP.NET Core:会话 ID 始终变化

    今天启动了一个全新的 ASP NET Core 网站 按照说明添加会话 我们在索引页上打印出会话 ID 它始终是唯一的 我认为这可能是 cookie 合规性 所以我在 Chrome 的高级设置和调试器中删除了所有 cookie 但横幅不会再

随机推荐

  • 我们可以在 JSF2 复合组件中拥有组件范围的 bean 吗?

    我想知道如何创建 组件范围 bean 或者说 复合组件内的局部变量 这些变量对于复合组件的实例来说是私有的 并且只要该实例存在就一直存在 下面是更多详细信息 并通过示例进行了解释 假设有一个 计算器 组件 允许用户输入数学表达式并计算其值
  • 将react-native与react-relay一起使用时,引用节点模块的箭头函数中的自动绑定被破坏

    我正在使用react native和react relay 因此我有以下 babelrc 文件 sourceMaps both presets plugins babelRelayPlugin react native passPerPre
  • 从 Python 调用 Cython C 函数

    我有一个Cython http cython org 文件名为foo pyx包含以下功能 def add one int n cdef int m n 1 return m cdef int c add one int n return n
  • 为什么使用 __get_free_pages() 进行顺序为 10 或 11 的页面分配通常会失败?

    我的系统内存充足 24GB的服务器 在我的系统中 内核空间分配了320MB和120MB用于崩溃内核 其余的内存用于其他目的 但是 当我使用 get free pages 分配顺序为 11 的连续页 内核无法分配 2 10 页 为什么 根据制
  • Devise、Rolify 和 Cancan 到 ActiveAdmin

    我正在使用 Devise Rolify 和 CanCan 开发一个应用程序 我可以将其完全转变为由 ActiveAdmin 管理吗 有相关文件吗 我知道问题被提出已经有一段时间了 但是当我在谷歌搜索时发现它时 我想我可以发布一个答案来帮助其
  • R:使用基于时间的窗口计算按 id 变量分组的不规则时间序列的滚动总和

    我喜欢 R 但有些问题实在是太难了 面临的挑战是在基于时间的窗口大于或等于 6 小时的不规则时间序列中找到滚动总和小于 30 的第一个实例 我有该系列的样本 Row Person DateTime Value 1 A 2014 01 01
  • React js将状态从父组件设置为子组件

    所以我有一个父组件和子组件 父级将搜索栏中输入的任何内容作为道具传递给子级 然后应该执行 api fetch 我在控制台中看到了 fetch 对象 我在从父母那里设置孩子的状态时遇到困难 任何提示将不胜感激 谢谢您并快乐编码 D class
  • Jquery 同级在警报中显示未定义

    Jquery兄弟显示未定义 我有数量字段和总金额字段 当用户在总金额字段中输入任何内容时 我必须显示警报数量 我暂时不关心数量 因为我必须理解为什么我的 jquery 兄弟姐妹不工作 当我输入任何数字时 我的警报中就会出现未定义的情况 这不
  • 如何将 PDF 合并到单个文件而不需要相同字体的多个副本?

    我创建 PDF 并将它们连接成一个 PDF 我生成的 PDF 文件大小比我预期的要大得多 我意识到我的输出 PDF 有大量重复字体 这就是文件大小出乎意料地大的原因 在这里 我的问题是 我想创建仅嵌入字体信息的 PDF 因此让它们使用 Wi
  • 在 SQL Server 中,如何为给定表生成 CREATE TABLE 语句?

    我花了很多时间来解决这个问题 所以本着这个帖子 https stackoverflow com questions 21245 questions vs conveying information 我将其发布在这里 因为我认为它可能对其他人
  • 相当于 jQuery .is() 的 JS

    是否有 jQuery 的纯 JS 等价物 is 在现代浏览器上 我知道有querySelector方法 但我想检查节点本身 而不是查找子节点 好像matchesSelector就是我想要的 https developer mozilla o
  • 从txt文件中删除字符串

    所以基本上我想要deletetxt 文件中的字符串 using fs 输入示例 string1 string2 string3 string4 Delete string3 删除后会是这样的 string1 string2 string4
  • NLTK 中解析的英语语法

    是否有现成的英语语法可供我加载并在 NLTK 中使用 我搜索了使用 NLTK 进行解析的示例 但似乎我必须在解析句子之前手动指定语法 多谢 你可以看一下pyStat解析器 https github com emilmont pyStatPa
  • npm-link 库上的挂钩调用无效

    问题描述 我目前正在编写一个名为eformless 我用过CRA https github com facebook create react app创建一个名为的目录sandbox 我链接包的地方 当尝试使用我尝试测试的链接包启动沙盒反应
  • 向不记名令牌 json 添加更多值

    我想在用户成功登录后返回用户名 以显示在我的网络应用程序的右上角 我想用令牌返回的 json 来发送它 为了生成令牌身份验证 我使用 ASP NET Web API 和 Owin middlehawe access token blah t
  • 如何在Chrome devtools元素检查器中搜索标签+属性?

    我在 devtool 中进行了简单的搜索 但它无缘无故地急剧下降 更重要的是 如果我查看源代码并进行相同的搜索 结果数 link rel link contains rel style 或 CSS 选择器 link rel link rel
  • Windows 窗体 ListView 缺少水平滚动条

    我在表单 C VS 2005 中有一个 Windows 窗体 ListView 并将其锚定到表单的所有边缘 以便它完全填充表单 不包括状态栏 ListView 处于详细模式 并且列非常宽 绝对比显示区域宽 我有一个垂直滚动条 但没有水平滚动
  • 将记录作为函数结果从 Delphi DLL 传递到 C++

    我现在正在经历一些非常奇怪的事情 当我将结构从 C 传递到 Delphi DLL 作为参数时 一切正常 但是 一旦我想收到结果记录 我要么得到错误的值 要么得到异常 我禁用了记录的对齐 以便通过它们应该可以 这是代码 德尔福动态链接库 TS
  • jQueryUI Datepicker 上一个和下一个图标不显示

    我已将 jquery datepicker 合并到我的应用程序中 但是无论我选择什么主题 上一个 下一个图标都不会显示 我也使用了不同版本的 jquery ui js 我尝试了一些我之前看到过的项目 例如 使用 hideIfNoPrevNe
  • 需要有关将代码转换为 Matlab_extension 1 的建议

    这是之前提出的问题的扩展 link https stackoverflow com questions 20851902 need suggestion on code conversion to matlab noredirect 1 c