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

二次创作Z01语言

目录

一,字符集

二,编译分词

三,token含义

四,Z01翻译成C++

五,执行翻译后的代码

六,打印Hello World!


一,字符集

假设有门语言叫Z01语言,代码中只有0和1这两种字符。

二,编译分词

预处理剔除所有非0和1的字符之后,采用固定分词方式,从左往右每三个字符构成1个token,所以一共有8种token。

PS:预处理不是重点,本文不涉及,假设输入的都是只有0和1的字符。

三,token含义

token

含义

000

指针加一

001

指针减一

010

指针指向的字节的值加一

011

指针指向的字节的值减一

100

输出指针指向的单元内容(ASCⅡ码)

101

输入内容到指针指向的单元(ASCⅡ码)

110

如果指针指向的单元值为零,向后跳转到对应的]指令的次一指令处

111

如果指针指向的单元值不为零,向前跳转到对应的[指令的次一指令处

聪明的读者或许已经看出来了,我这个只是二次创作,毕竟有趣的灵魂互相抄袭。

四,Z01翻译成C++

string translate(char a, char b, char c)
{if (a == '0') {if (b == '0') {if (c == '0') {return "p++";}else {return "p--";}}else {if (c == '0') {return "*p = *p + 1";}else {return "*p = *p - 1";}}}else {if (b == '0') {if (c == '0') {return "cout<<char(*p)";}else {return "*p=getchar()";}}else {if (c == '0') {return "while(*p){";}else {return "}";}                }}
}int main()
{char a,b,c;string s;while (cin >> a >> b >> c) {s += translate(a,b,c);if (a == '1'&&b=='1'&&c=='0')continue;s += ";\n";}cout << s;return 0;
}

例如,输入:

010010010010010010010010010010010010010110011000010010010010010001111000100

输出:

*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);

五,执行翻译后的代码

void run()
{char arr[1000] = { 0 };char* p = arr+500;//input code
}int main()
{run();return 0;
} 

只要把翻译后的代码粘贴进去就行。

六,打印Hello World!

有了打印一个字符的经验和归0操作,接下来就可以输出任意字符了:

Ascii码分别是72,101,108,108,111,32,87,111,114,108,100,33

代码应该是:

010010010010010010010010010110011000010010010010010010010010001111000100110110011111001111010010010010010010010010010010110011000010010010010010010010010010010001111000010100110110011111001111010010010010010010010010010110011000010010010010010010010010010010010010001111000100110110011111001111010010010010010010010010010110011000010010010010010010010010010010010010001111000100110110011111001111010010010010010010010010010110011000010010010010010010010010010010010010001111000010010010100110110011111001111010010010010010010010010110011000010010010010001111000100110110011111001111010010010010010010010010110011000010010010010010010010010010010010001111000011100110110011111001111010010010010010010010010010110011000010010010010010010010010010010010010001111000010010010100110110011111001111010010010010010010010010010110011000010010010010010010010010010010010010001111000010010010010010010100110110011111001111010010010010010010010010010110011000010010010010010010010010010010010010001111000100110110011111001111010010010010010010010010010010110011000010010010010010010010010010010001111000100110110011111001111010010010010010010010010110011000010010010010001111000010100110110011111001111

翻译结果:

*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
*p = *p + 1;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
*p = *p - 1;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
while(*p){*p = *p - 1;
p++;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
*p = *p + 1;
p--;
};
p++;
*p = *p + 1;
cout<<char(*p);
while(*p){while(*p){*p = *p - 1;
};
p--;
};

运行效果:

相关文章:

二次创作Z01语言

目录 一&#xff0c;字符集 二&#xff0c;编译分词 三&#xff0c;token含义 四&#xff0c;Z01翻译成C 五&#xff0c;执行翻译后的代码 六&#xff0c;打印Hello World! 一&#xff0c;字符集 假设有门语言叫Z01语言&#xff0c;代码中只有0和1这两种字符。 二&#…...

【蓝桥杯国赛真题28】Scratch行驶的汽车 少儿编程图形化编程 中小学生第十四届蓝桥杯scratch国赛真题讲解

目录 scratch行驶的汽车 一、题目要求 编程实现 二、案例分析 1、角色分析...

LeetCode Hot100 236.二叉树的最近公共祖先

题目&#xff1a; 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节…...

ERROR: Could not find a version that satisfies the requirement torch

在windows 上安装pip install torch torchvision torchaudio 报错&#xff1a; ERROR: Could not find a version that satisfies the requirement torch (from versions: none) ERROR: No matching distribution found for torch 解决办法&#xff1a; 将python版本降到3.11…...

2009年iMac装64位windows7及win10

2009年iMac装64位windows7及win10 Boot Camp没有“创建 Windows7 或更高版本的安装磁盘”选项 安装完Mac OS系统后&#xff0c;要制作Windows7安装U盘时才发现&#xff0c;Boot Camp没有“创建 Windows7 或更高版本的安装磁盘”选项&#xff0c;搜索到文章&#xff1a;修改Boo…...

(三) Windows 下 Sublime Text 3 配置Python环境和Anaconda代码提示

一&#xff1a;新建一个 Python3.7 编译环境。 1 Tools--Build System--New Build System... 修改前&#xff1a; 修改后&#xff1a; 内容&#xff1a; {"cmd":["C:\\Python\\Python37-32\\python.exe","-u","$file"],"file_r…...

【shell脚本】一些简单的shell脚本案例,mark一下

1、使用变量生成随机密码 比如自定义密码里面是数字和字母(或者还可以是某些符号等),随机生成一个想要的多少位的密码 [root@localhost test]#vim mima.sh #!/bin/bash str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPKRSTUVWXYZ0123456789" for i in {1..6} …...

Android Studio记录一个错误:Execution failed for task ‘:app:lintVitalRelease‘.

Android出现Execution failed for task :app:lintVitalRelease.> Lint found fatal errors while assembling a release target. Execution failed for task :app:lintVitalRelease解决方法 Execution failed for task ‘:app:lintVitalRelease’ build project 可以正常执…...

计算机组成原理4

1.汇编语言 2.汇编语言常见的运算指令 3.AT&T格式 和 Intel格式 4.跳转指令 5.cmp比较的底层原理 6.函数调用的机器级表示 7.CISC和RISC...

【人工智能】Chatgpt的训练原理

前言 前不久&#xff0c;在学习C语言的我写了一段三子棋的代码&#xff0c;但是与我对抗的电脑是没有任何思考的&#xff0c;你看了这段代码就理解为什么了&#xff1a; void computerMove(char Board[ROW][COL], int row, int col) {while (1){unsigned int i rand() % ROW, …...

一文讲明SpringMVC 【爆肝整理一万五千字】

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…...

【Python爬虫实战项目】ip代理池项目原理及代码解析

视频讲解链接&#xff1a;https://www.bilibili.com/video/BV1e8411r7xX/ 代码链接&#xff1a;https://github.com/w-x-x-w/Spider-Project 大家好&#xff0c;这一季我们来介绍一个Python爬虫实战项目-ip代理池项目&#xff0c;这一集我们会首先介绍ip代理池的工作原理流程&a…...

Ardupilot开源飞控之VTOL之旅:配件规格

Ardupilot开源飞控之VTOL之旅&#xff1a;配件规格 1. 源由2. 飞控板 Aocoda-RC H743Dual3. PDB分电板 Aocoda-RC PDB30604. GPS BN8805. 摄像头 RunCam 1200TVL6. 模拟图传 JHEMCU RuiBet Tran-3016W 5.8GHZ 1.6W7. 打印件7.1 飞控/GPS座子7.2 VTX/天线座子7.3 接收机天线座 8…...

Binlog vs. Redo Log:数据库日志的较劲【基础】

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 Binlog vs. Redo Log&#xff1a;数据库日志的较劲 前言第一&#xff1a;Binlog与Redo Log的基础概念Binlog&#xff08;二进制日志&#xff09;的基础概念Redo Log&#xff…...

代理模式-C语言实现

UML图&#xff1a; 代码实现&#xff1a; #include <stdio.h>// 抽象主题接口 typedef struct {void (*request)(void*); } Subject;// 具体主题类 typedef struct {void (*request)(void*); } RealSubject;void RealSubject_request(void* obj) {printf("RealSubj…...

解密 sqli靶场第一关:一步一步学习 SQL 注入技术

目录 一、判断是否存在注入点 二、构造类似?id1 --的语句 三、判断数据表中的列数 四、使用union联合查询 五、使用group_concat()函数 六、爆出数据库中的表名 七、爆出users表中的列名 八、爆出users表中的数据 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很…...

Flask 使用Jinja2模板引擎

Jinja2&#xff0c;由Flask框架的创作者开发&#xff0c;是一款功能丰富的模板引擎&#xff0c;以其完整的Unicode支持、灵活性、高效性和安全性而备受推崇。最初受Django模板引擎启发&#xff0c;Jinja2为Flask提供了强大的模板支持&#xff0c;后来也成为其他项目的首选。在本…...

C/C++内存管理,malloc,realloc,calloc,new,delete详解!!!

1.初步了解内存中各个区间存储的数据特征 1.栈区&#xff1a;存储一些局部变量、函数参数、返回值等&#xff0c;跟函数栈振有关&#xff0c;出了作用域&#xff0c;生命周期结束。 2.堆区&#xff1a;用于动态开辟空间&#xff0c;如果不主动销毁空间&#xff0c;则程序运行结…...

高级JVM

一、Java内存模型 1. 我们开发人员编写的Java代码是怎么让电脑认识的 首先先了解电脑是二进制的系统&#xff0c;他只认识 01010101比如我们经常要编写 HelloWord.java 电脑是怎么认识运行的HelloWord.java是我们程序员编写的&#xff0c;我们人可以认识&#xff0c;但是电脑不…...

论文阅读——MCAN(cvpr2019)

补充一下MCAN-VQA&#xff1a; 对图片的处理&#xff1a;首先输入图片到Faster R-CNN&#xff0c;会先设定一个判断是否检测到物体的阈值&#xff0c;这样动态的生成m∈[10,100]个目标&#xff0c;然后从检测到的对应的区域通过平均池化提取特征。第i个物体特征表示为&#xff…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

DAY 45 超大力王爱学Python

来自超大力王的友情提示&#xff1a;在用tensordoard的时候一定一定要用绝对位置&#xff0c;例如&#xff1a;tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾&#xff1a; tensorboard的发展历史和原理tens…...

拟合问题处理

在机器学习中&#xff0c;核心任务通常围绕模型训练和性能提升展开&#xff0c;但你提到的 “优化训练数据解决过拟合” 和 “提升泛化性能解决欠拟合” 需要结合更准确的概念进行梳理。以下是对机器学习核心任务的系统复习和修正&#xff1a; 一、机器学习的核心任务框架 机…...