用BF写一个根据位置值实现指针自增的代码

2023-11-02

BF代码:根据位置值实现指针自增

BrainFuck:
实现指针会根据目前位置存储的值来自增
比如*[4]=8,则指针会移动到[12],即[4+8]

目前位置[n]的前3个位置[n-1][n-2][n-3]需要为0以便转移数据
代码:

>[<<<<+>>>>-]<[>+<-]>-<<<[>+<-]>+>>[>[<<<<+>>>>-]<[>+<-]>-<<<<<[>>>>+<<<<-]>>>>><<<[>+<-]>+>>]<<<<

代码解释:

[<<<<+>>>>-]:[n]位置向后一位到[n+1],若[n+1]不为零,则[n-3]=[n+1],[n+1]=0
<[>+<-]>-:此时[n+1]=0,让[n+1]=[n],[n]=0,然后[n+1]的值减少1

<<<[>+<-]>+>>:到[n-2]位置,让[n-1]=[n-2],[n-2]=0,然后[n-1]的值加1,这是为了记录走了多少步

[>[<<<<+>>>>-]<[>+<-]>-<<<<[>>>>+<<<<-]>>>><<<[>+<-]>+>>]:这里是把之前的步骤加了一个循环,可以发现此时指针每向右移动一位位置上的值就减1,这个过程会持续到这个值为0
不过这里额外加了一部分代码<<<<<[>>>>+<<<<-]>>>>>:是为了将上一步[n-3]的值物归原主到上一步[n+1]的位置上,并将指针归位到现在的[n+1](每一步比上一步加1)

<<<<:从第二步开始,每一步会把前一步错位的数据放回原位,所以最后一步,指针指到的位置[n+1]上一步储存的值,现在在[n-3]里,现在[n-1]的值是步数,现在[n-2]、[n]和[n+1]的值为0

好处是除了本次指针自增时值的位置有变化,其余的位置的值都没变。

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

用BF写一个根据位置值实现指针自增的代码 的相关文章

  • 如何在Linux虚拟机或服务器上发布或部署一个Spring项目

    1 开放端口 项目需要使用哪些端口就开放哪些端口 开放方法如下 1 进入控制台 选择安全组 2 点击蓝色连接 点击手动添加 3 添加需要开放的端口 2 安装服务器远程连接工具 Xshell 的安装使用 Xshell是一个终端模拟软件 换言之
  • stm32 USB HID单点触摸屏上报安卓触摸信号

    此工程在个人博客使用stm32配置自定义的HID设备基础上修改 在上个博客中我们介绍了如何使用stm32配置成自定义的HID设备 使用usb通讯 但是仅仅只是实现了基于USB的通讯 真正需要运用的时候还需要在此基础上定义我们自己的协议 然后
  • Unity接入越南社交软件Zalo登录之获取用户信息

    根据Unity接入越南社交软件Zalo登录 Android 之SDK接入接入SDK后 需要获取用户name id 头像 性别的信息 这一篇文章教你如何获取 根据官网文档获取用户信息API ZaloSDK Instance getProfil
  • CPU和线程概述、线程池如何合理设置

    目录 1 物理核 虚拟核 单核cpu和多核cpu 2 进程和线程 理解 对比 线程切换 线程开销 3 串行 并发 并行 串行 并发 并行 4 多核下线程数量选择 计算密集型 IO密集型 提高性能的方向 5 并发编程网上关于线程池的总结 参考
  • PAT A1039使用string也可以不超时!!!

    亲测 直接使用map
  • AJAX & Axios 总结

    AJAX Axios 1 AJAX 1 1 作用 与服务器进行数据交换 异步交互 异步和同步 1 2 基本使用 1 3 案例 SelectUserServlet register html register html中的
  • 层层逼近,了解Norm系需要解决的问题及其衍生变体

    引自 https zhuanlan zhihu com p 33173246 https blog csdn net xiao lxl article details 72730000 https github com switchable
  • linux audit日志通过syslog转发到远端

    流程 开启audit 配置rsyslog读audit log文件 转发到远端 1 开启audit 重启audit service auditd restart 确认audit log产生日志 cat var log audit audit
  • filebeat-sidecar模式采集pod应用日志

    文章目录 1 将镜像上传服务器 2 新增sidecar yml文件 3 kubectl部署应用 部署应用 查看应用部署情况 查看pod运行情况 查看容器 应用服务 运行情况 查看容器 filebeat 运行情况 查看pod日志 4 kafk
  • Linux内核设计与实现(五)

    文章目录 什么是内核同步 1 临界区和竞争条件 2 加锁 2 1 造成并发执行的原因 2 2 了解需要保护什么 3 死锁 4 争用和扩展性 内核同步方法 1 原子操作 1 1 原子整数操作 1 2 原子位操作 2 自旋锁 2 1 自旋锁方法
  • 时序预测

    时序预测 MATLAB实现基于TSO XGBoost金枪鱼算法优化XGBoost的时间序列预测 多指标评价 目录 时序预测 MATLAB实现基于TSO XGBoost金枪鱼算法优化XGBoost的时间序列预测 多指标评价 预测效果 基本介绍
  • java+selenium环境搭建

    目录 1 写在前面的话 2 下载谷歌驱动 3 添加Selenium依赖 我这里添加的是4 0 0版本的 4 在操作过程中可能出现的问题 解决办法 目录 1 写在前面的话 2 下载谷歌驱动 3 添加Selenium依赖 我这里添加的是4 0
  • MTK 平台Camera 驱动架构

    记录下 Mtk的Hal3架构笔记 正在进行学习 后续仍会更新 一 MtkCam3的代码结构及学习资料 mtk online里搜Camera 可以搜到很全面的Mtk Hal3的学习文档 Mtk整理的文档很棒 简单到位 https online
  • 嵌入式(线程的取消和互斥)

    线程的取消 意义 随时杀掉一个线程 int pthread cancel pthread t thread 注意 线程的取消要有取消点才可以 不是说取消就取消 线程的取消点主要是阻塞的系统调用 运行段错误调试 可以使用gdb调试 使用gdb
  • Linux之进程组、守护进程

    转自 https blog csdn net happiness llz article details 82749105 进程组 概念和特性 进程组 也称之为作业 BSD于1980年前后向Unix中增加的一个新特性 代表一个或多个进程的集

随机推荐

  • 序列密码,最安全的密码体制

    序列密码体制是理论上最安全的密码体制 因为Shannon证明了一次一密密码体制是绝对安全的 每个字节明文都对应这一个字节的密钥 而序列密码的设计就是基于此而设计 序列密码 明 文 密 文 密
  • Mysql可变长度列VARCHAR、BLOB和TEXT问题

    在对这些可变长度类型的列进行大量的增删后可能会出现碎片 建议定期执行 OPTIMIZE TABLE 表名 以优化性能 但以上命令只对MyISAM BDB和InnoDB存储引擎的表生效 以下方式也可以优化innodb存储引擎的表中的碎片 al
  • oc swift 混编

    oc 和 swift 互调 swift 中使用 oc swift 中调用 oc 的类 创建一个oc的项目 在项目里创建swift文件的话 Xcode会自动提示 要不要创建桥接文件 如下图所示 选择Create Bridging Header
  • Python大数据-对淘宝用户的行为数据分析

    目录 一 项目背景 二 项目目标 三 分析思路 四 数据清洗 1 读取查看数据的基本信息和数据的完整性 2 一致化处理 3 查看是否有缺失值 五 数据分析 1 不同时间下PV UV的流量变化情况 2 不同购物行为在不同时间维度下的变化情况
  • 可惜了,昔日硬核神器已停止服务……幸亏还有这款开源工具撑着

    大家好 我是小莫理 不知道有多少朋友还记得一个叫Magi的搜索引擎 它比传统的搜索引擎更智能 但是很遗憾 服务已经暂停了 无论是比较知名的F搜 密搜还是多吉搜 服务模式都因为各种原因发生了变化 第三方的搜索引擎似乎是被某种神秘力量所牵绊着
  • 统计学习方法学习1.0

    决策树 决策树是一种分类和回归方法 优点 模型可读性 分类速度快 过程 特征选择 决策树的生成 决策树的剪枝 损失函数 正则化的极大似然函数 特征选择 多个特征时 如何选择某个特征作为判断的依据 信息增益 熵定义 熵越大 随机变量的不确定性
  • Java中calendar类常用方法介绍 (获取年月日星期)

    概述 Calendar 类是一个抽象类 它为特定瞬间与一组诸如 YEAR MONTH DAY OF MONTH HOUR 等日历字段之间的转换提供了一些方法 并为操作日历字段 例如获得下星期的日期 提供了一些方法 构造 父类引用指向子类对象
  • BDS - Chapter - 3 - Remedial Unix Shell

    This book assumes you re familiar with basic topics such as what a terminal is what the shell is the Unix filesystem hie
  • 自动化测试很容易学,是你的方法用错了

    目录 一 初识自动化测试 二 自动化测试和手工测试有什么不同 三 什么是自动化测试 四 自动化测试和手工测试应用范围的对比 五 区别对待不同的测试阶段 六 如何评估测试工具 七 如何选择合适的测试工具 八 如何学习自动化测试 一 初识自动化
  • 高德地图组件在Android的应用以及Android与JavaScript的交互(一)

    最近在慕课网学习了关于高德地图组件的课程 其实就是一个广告 内容和官网的API完全一样 发现这个JavaScript API比Android API简单方便多了 于是就打算放在Android APP上来实现 花了一点小功夫 但是最终还是实现
  • idea调试怎么跳出循环_你不知道的 IDEA Debug调试小技巧(小结)

    一 多线程调试断点 Intellij IDEA 的debug断点调试是有一个模式的选择的 就像下面这张图 平时我们都使用的是默认的 ALL 在Eclipse中默认是线程模式 这种模式我们只能将一个线程断下来 但其他线程却已经执行过了 而将其
  • 校园网防PROXY代理原理与方法分析

    一 概述 本文针对园区网尤其是校园网存在的RPOXY代理问题 进行了详细的技术说明 并针对不同的应用情况提出了多种解决方案 其实 PROXY问题存在于两个方面 一是利用PROXY发表反动言论 二是利用PROXY逃避计费 利用PROXY发表反
  • FPGA按键防抖

    文章目录 basys3按键电路 按键消抖 软件消抖原理 软件消抖代码 仿真结果 basys3按键电路 按键消抖 按键消抖通常的按键所用开关为机械弹性开关 当机械触点断开 闭合时 由于机械触点的弹性作用 一个按键开关在闭合时不会马上稳定地接通
  • react+electron从环境搭建到项目整合全过程

    您好 如果喜欢我的文章 可以关注我的公众号 量子前端 将不定期关注推送前端好文 Electron是什么 Electron 是一个由 GitHub 开发的开源库 通过将 Chromium 和Node js 组合并使用 HTML CSS 和 J
  • 安装PowerDesigner后,office2007中鼠标不能用

    由于PowerDesigner的com插件造成Office word 2007鼠标无法正常使用 只要删除此加载项目就ok Word 2007 删除其中PowerDesigner的com加载项 HKEY CURRENT USER Softwa
  • 冒泡排序(C++)完整代码

    算法学习 本人机械科研dog一枚 对算法感兴趣 这是我自学算法的记录 第一天 冒泡排序 文章目录 算法学习 一 冒泡排序原理 二 核心代码 三 算法复杂度分析 一 冒泡排序原理 1 从后往前依次比较相邻的元素 若是要按照升序排序 则后面的元
  • 中科院jcr分区2020_中科院SCI期刊分区(又称JCR期刊分区)知多少

    SCI期刊常用的评价指标是IF 考虑到IF指标是洋指标 中国科研工作者进一步根据国情设立了中科院JCR期刊分区表来对期刊的管理进行补充 中科院期刊分区其实就是把所有的期刊按照一定指标划分为四个层次 类似 优 良 及格 等 最开始 这个分区只
  • 以太网眼图测试整改案例分析

    故障现象 以太网眼图测试中 出现不通过现象 结果如下 由上可知 主要是眼图模板下方不能通过 更换不同的PHY芯片 结果依旧 故障分析 眼图测试 其测试内容为MAC芯片 经过变压器到网口之间的原理设计 PCB布局及走线 故障电路设计如下 PC
  • 机器学习之线性回归:OLS 无偏估计及相关性python分析

    戳上面的蓝字关注我们 作者 alg flody 编辑 Emily 0 回顾 在最近的推送中 先后总结了最小二乘法的原理 两个求解方法 直接法和梯度下降 最后利用这两种思路进行了python实战 在用直接法求出权重参数时 有一个假设是某个矩阵
  • 用BF写一个根据位置值实现指针自增的代码

    BF代码 根据位置值实现指针自增 BrainFuck 实现指针会根据目前位置存储的值来自增 比如 4 8 则指针会移动到 12 即 4 8 目前位置 n 的前3个位置 n 1 n 2 n 3 需要为0以便转移数据 代码 gt lt lt l