非对称任意进制转换器(安卓)

除了正常进制转换,还可以输入、输出使用不同的数字符号,达成对数值进行加密的效果

在这里插入图片描述
在这里插入图片描述

点我下载APK安装包

使用unity开发。新建一个c#代码文件,把代码覆盖进去,再把代码文件添加给main camera即可。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class NewBehaviourScript : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}string injinzhifuhao = @"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";string injinzhi = @"10";string intext = @"12345";string outjinzhifuhao = @"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";string outjinzhi1 = @"2";string outtext1 = @"";private void OnGUI(){float rect_x = Screen.width * 0.1f;float rect_y = Screen.height * 0.1f;float rect_w = Screen.width * 0.8f;float rect_h = Screen.height * 0.05f;GUIStyle style_l = GUI.skin.label;style_l.normal.textColor = Color.white;style_l.fontSize = (int)(rect_h * 0.8);style_l.alignment = TextAnchor.MiddleCenter;GUIStyle style_t = GUI.skin.textField;style_t.normal.textColor = Color.white;style_t.fontSize = (int)(rect_h * 0.8);GUIStyle style_b = GUI.skin.button;style_b.fontSize = (int)(rect_h * 0.8);style_b.alignment = TextAnchor.MiddleCenter;GUI.Label(new Rect(rect_x, rect_y, rect_w, rect_h), @"进制符号", style_l);rect_y += rect_h;injinzhifuhao = GUI.TextField(new Rect(rect_x, rect_y, rect_w, rect_h), injinzhifuhao, style_t);rect_y += rect_h;GUI.Label(new Rect(rect_x, rect_y, rect_w, rect_h), @"输入的是几进制", style_l);rect_y += rect_h;injinzhi = GUI.TextField(new Rect(rect_x, rect_y, rect_w, rect_h), injinzhi, style_t);rect_y += rect_h;GUI.Label(new Rect(rect_x, rect_y, rect_w, rect_h), @"数值", style_l);rect_y += rect_h;intext = GUI.TextField(new Rect(rect_x, rect_y, rect_w, rect_h), intext, style_t);rect_y += rect_h * 2;bool butt = GUI.Button(new Rect(rect_x, rect_y, rect_w, rect_h), @"转换", style_b);rect_y += rect_h * 2;GUI.Label(new Rect(rect_x, rect_y, rect_w, rect_h), @"转换后的进制符号", style_l);rect_y += rect_h;outjinzhifuhao = GUI.TextField(new Rect(rect_x, rect_y, rect_w, rect_h), outjinzhifuhao, style_t);rect_y += rect_h;GUI.Label(new Rect(rect_x, rect_y, rect_w, rect_h), @"转换成几进制", style_l);rect_y += rect_h;outjinzhi1 = GUI.TextField(new Rect(rect_x, rect_y, rect_w, rect_h), outjinzhi1, style_t);rect_y += rect_h;GUI.Label(new Rect(rect_x, rect_y, rect_w, rect_h), @"数值", style_l);rect_y += rect_h;outtext1 = GUI.TextField(new Rect(rect_x, rect_y, rect_w, rect_h), outtext1, style_t);if (butt){int injinzhi_;int outjinzhi1_;// - - - - - - - - - - - - - - - 纠错 - - - - - - - - - - - - - - - if (injinzhifuhao.Length <= 0) { injinzhifuhao = @"不能没有进制符号"; return; }if (int.TryParse(injinzhi, out injinzhi_) == false) { injinzhi = @"无法识别为数字" + injinzhi; return; }if (injinzhi_ <= 0) { injinzhi = @"必须是大于零的数字" + injinzhi; return; }if (int.TryParse(outjinzhi1, out outjinzhi1_) == false) { outjinzhi1 = @"无法识别为数字" + outjinzhi1; return; }if (outjinzhi1_ <= 0) { outjinzhi1 = @"必须是大于零的数字" + outjinzhi1; return; }if (injinzhi_ > injinzhifuhao.Length) { injinzhi = @"进制符号太少,无法表示如此大的进制" + injinzhi; return; }foreach (var item in intext){bool t = false;for (int i = 0; i < injinzhi_; i++){if (injinzhifuhao[i] == item) { t = true; break; }}if (t == false) { intext = @"符号" + item + "不在进制范围的符号中" + intext; return; }}// - - - - - - - - - - - - - - - 转换 - - - - - - - - - - - - - - - // 用int[]保存intext的每个数字;int[]的元素数量是intext.Length。int[] jinzhinum = new int[intext.Length];for (int i = 0; i < intext.Length; i++){for (int j = 0; j < injinzhifuhao.Length; j++){if (intext[i] == injinzhifuhao[j]){jinzhinum[i] = j;}}}// 对输入值减一,同时输出值加一。List<int> outnum = new List<int>();outnum.Add(0);while (SubOne(ref jinzhinum, injinzhi_)){AddOne(ref outnum, outjinzhi1_);}// 数字转换成符号outtext1 = @"";for (int i = outnum.Count - 1; i >= 0; i--){int t = outnum[i];string tt = outjinzhifuhao[t].ToString();outtext1 = tt + outtext1;}}bool SubOne(ref int[] a, int jinzhi){if (a[a.Length - 1] > 0) // 个位数减一{a[a.Length - 1]--;return true;}else // 需要借位{for (int i = a.Length - 2; i >= 0; i--){if (a[i] > 0){a[i]--;for (int j = i + 1; j <= a.Length - 1; j++){a[j] = jinzhi - 1;}return true;}}return false; // 传入的数为零,无法继续减一}}void AddOne(ref List<int> a, int jinzhi){a[a.Count - 1]++;for (int i = a.Count - 1; i >= 0; i--){if (a[i] == jinzhi){a[i] = 0;if (i != 0){a[i - 1]++;}else{a.Insert(0, 1);return;}}else{return;}}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/33749.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络入门实战:(十四)pytorch 官网内置的 CIFAR10 数据集,及其网络模型

(一) pytorch 官网内置的网络模型 图像处理&#xff1a; Models and pre-trained weights — Torchvision 0.20 documentation (二) CIFAR10数据集的分类网络模型&#xff08;仅前向传播&#xff09;&#xff1a; 下方的网络模型图片有误&#xff0c;已做修改&#xff0c;具…

linux 系列服务器 高并发下ulimit优化文档

系统输入 ulimit -a 结果如下 解除 Linux 系统的最大进程数 要解除或提高 Linux 系统的最大进程数&#xff0c;可以修改 ulimit 设置和 /etc/security/limits.conf 文件中的限制。 临时修改 ulimit 设置 可以使用 ulimit 命令来查看和修改当前会话的最大进程数&#xff1a; 查…

Elasticsearch数据迁移(快照)

1. 数据条件 一台原始es服务器&#xff08;192.168.xx.xx&#xff09;&#xff0c;数据迁移后的目标服务器&#xff08;10.2.xx.xx&#xff09;。 2台服务器所处环境&#xff1a; centos7操作系统&#xff0c; elasticsearch-7.3.0。 2. 为原始es服务器数据创建快照 修改elas…

基于 SpringBoot 构建校园失物招领智能平台:优化校园失物处理流程

4系统设计 4.1系统概要设计 本文通过B/S结构(Browser/Server,浏览器/服务器结构)开发的该校园失物招领系统&#xff0c;B/S结构的优点很多&#xff0c;例如&#xff1a;开发容易、强的共享性、便于维护等&#xff0c;只要有网络&#xff0c;用户可以随时随地进行使用。 系统工作…

图解SSL/TLS 建立加密通道的过程

众所周知&#xff0c;HTTPS 是 HTTP 安全版&#xff0c;HTTP 的数据以明文形式传输&#xff0c;而 HTTPS 使用 SSL/TLS 协议对数据进行加密&#xff0c;确保数据在传输过程中的安全。 那么&#xff0c;HTTPS 是如何做到数据加密的呢&#xff1f;这就需要了解 SSL/TLS 协议了。 …

HTTP协议图--HTTP 工作过程

HTTP请求响应模型 HTTP通信机制是在一次完整的 HTTP 通信过程中&#xff0c;客户端与服务器之间将完成下列7个步骤&#xff1a; 建立 TCP 连接 在HTTP工作开始之前&#xff0c;客户端首先要通过网络与服务器建立连接&#xff0c;该连接是通过 TCP 来完成的&#xff0c;该协议…

BurpSuite工具-Proxy代理用法(抓包、改包、放包)

一、Burp Suite 项目管理 二、Proxy&#xff08;代理抓包模块&#xff09; 1. 简要说明 1.1. Intercept&#xff08;拦截&#xff09; 1.2. HTTP History&#xff08;HTTP 历史&#xff09; 1.3. WebSockets History&#xff08;WebSocket 历史&#xff09; 1.4. Options…

前端测试框架 jasmine 的使用

最近的项目在使用AngulaJs,对JS代码的测试问题就摆在了面前。通过对比我们选择了 Karma jasmine ,使用 Jasmine做单元测试 &#xff0c;Karma 自动化完成&#xff0c;当然了如果使用 Karma jasmine 前提是必须安装 Nodejs。 安装好 Nodejs &#xff0c;使用 npm 安装好必要…

Blender均匀放缩模型

解决办法&#xff1a; 首先选中模型&#xff0c;按下“s”键&#xff0c;如下图所示&#xff0c;此时模型根据鼠标的移动放缩 或者在按下“s”后输入数值&#xff0c;再按回车键Enter&#xff0c;模型会根据你该数值进行均匀放缩 指定放大2倍结果——

TCP/IP 协议图--计算机网络体系结构分层

计算机网络体系结构分层 计算机网络体系结构分层 不难看出&#xff0c;TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”&#xff0c;而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”

hive 行转列

行转列的常规做法是&#xff0c;group bysum(if())【或count(if())】 建表: CREATE TABLE table2 (year INT,month INT,amount DOUBLE );INSERT INTO table2 (year, month, amount) VALUES(1991, 2, 1.2),(1991, 3, 1.3),(1991, 4, 1.4),(1992, 1, 2.1),(1992, 2, 2.2),(1992…

5G Multicast/Broadcast Services(MBS)相关的Other SI都有哪些?

系统消息分为Minimum SI 和other SI&#xff0c;其中Minimum SI 包括MIB和SIB1&#xff0c;Minimum SI包含初始访问所需的基本信息和获取任何其他 SI 的信息。 而随着3GPP引入的技术越来越多&#xff0c;例如sidelink&#xff0c;NTN&#xff0c;MBS broadcast/multicast以及A…

6. 一分钟读懂“抽象工厂模式”

6.1 模式介绍 书接上文&#xff0c;工厂方法模式只能搞定单一产品族&#xff0c;遇到需要生产多个产品族时就歇菜了。于是&#xff0c;在需求的“花式鞭策”下&#xff0c;程序员们再次绷紧脑细胞&#xff0c;创造出了更强大的抽象工厂模式&#xff0c;让工厂一次性打包多个产品…

Ignis如何将Tokenization解决方案应用于RWA和实体经济

随着区块链技术的发展&#xff0c;代币化&#xff08;Tokenization&#xff09;逐渐成为连接数字经济与实体经济的重要桥梁。尤其是RWA&#xff08;真实世界资产&#xff09;的概念&#xff0c;近年来成为金融行业的热议话题。Ignis作为Jelurida公司推出的公链平台&#xff0c;…

sql删除冗余数据

工作或面试中经常能遇见一种场景题&#xff1a;删除冗余的数据&#xff0c;以下是举例介绍相应的解决办法。 举例&#xff1a; 表结构&#xff1a; 解法1&#xff1a;子查询 获取相同数据中id更小的数据项&#xff0c;再将id不属于其中的数据删除。-- 注意&#xff1a;mysql中…

mac 安装python3和配置环境变量

mac 安装python3和配置环境变量 前言怎样选择python3的版本python3的安装1、去官网下载安装包2、下载完成后直接解压,检查安装是否成功 前言 在学习python的第一步就是安装它和配置他的环境变量&#xff0c;那么选择哪个版本的python你可曾知道&#xff0c;下面就讲解怎样选择…

Springboot美食分享平台

私信我获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 Springboot美食分享平台 一、 绪论 1.1 研究意义 当今社会作为一个飞速的发展社会&#xff0c;网络已经完全渗入人们的生活&#xff0c; 网络信息已成为传播的第一大媒介&#xff0c; 可以毫不夸张…

iview upload clearFiles清除回显视图

iview upload 上传完文件之后清除内容&#xff0c;打开会回显视图&#xff0c;清除不掉 关闭弹框时主动清除回显内容即可this.$refs.uploads.clearFiles() <FormItem label"上传附件:" :label-width"formNameWidth"><Upload action"/fms/ap…

并查集的原理及实现

目录 0.引例 1.并查集的原理 2.并查集的存储结构 3.并查集的实现 并查集接口总览 构造函数 查找元素属于哪个集合 判断是否属于同一个集合 合并两个集合 集合的个数 4.并查集完整代码附录 5.并查集在OJ中的应用 省份数量 等式方程的可满足性 0.引例 在我们刚上…

机器学习--绪论

开启这一系列文章的初衷&#xff0c;是希望搭建一座通向机器学习世界的桥梁&#xff0c;为有志于探索这一领域的读者提供系统性指引和实践经验分享。随着人工智能和大数据技术的迅猛发展&#xff0c;机器学习已成为推动技术创新和社会变革的重要驱动力。从智能推荐系统到自然语…