C#二进制、十进制、十六进制数据转换

目录

1、10进制整数转二进制BOOL数组

2、二进制BOOL数组转10进制整型

3、10进制转16进制字符串

4、16进制字符串转10进制

5、16进制字符串转二进制BOOL数组

6、二进制BOOL数组转16进制字符串


1、10进制整数转二进制BOOL数组

        /// <summary>/// 10进制整数转二进制BOOL数组/// </summary>/// <param name="nData"></param>/// <returns></returns>public bool[] IntToBools(int nData){string str = Convert.ToString(nData, 2);int n = str.Length;bool[] bArray = new bool[n];if (n == 1){int temp = Convert.ToInt32(str);bArray[0] = Convert.ToBoolean(temp);}if (n > 1){for (int i = 0; i < n; i++){//char _temp = str[i];string strTemp = Convert.ToString(str[n - 1 - i]);int _temp = Convert.ToInt32(strTemp);bArray[i] = Convert.ToBoolean(_temp);}}return bArray;}

2、二进制BOOL数组转10进制整型

        /// <summary>/// 二进制BOOL数组转10进制整型/// </summary>/// <param name="bArray"></param>/// <returns></returns>public int BoolsToInt(bool[] bArray){int nNum = 0;for (int i = 0; i < bArray.Length;i++ ){int temp = 0;if(bArray[i]==true){//temp = 2 ^ i;temp = (int)Math.Pow(2, i);}nNum = nNum + temp;}return nNum;}

3、10进制转16进制字符串

         /// <summary>/// 10进制转16进制字符串/// </summary>/// <param name="nData"></param>/// <returns></returns>public string IntToHex(int nData){return nData.ToString("X");}

4、16进制字符串转10进制

        /// <summary>/// 16进制字符串转10进制/// </summary>/// <param name="strHex"><16进制字符串/param>/// <returns>int整型数据</returns>public int HexToInt(string strHex){return Convert.ToInt32(strHex, 16); // 转换为10进制整数}

5、16进制字符串转二进制BOOL数组

        /// <summary>/// 16进制字符串转二进制BOOL数组/// </summary>/// <param name="strHex"></param>/// <returns></returns>public bool[] HexToBools(string strHex){int nTemp = HexToInt(strHex);return IntToBools(nTemp);}

6、二进制BOOL数组转16进制字符串

        /// <summary>/// 二进制BOOL数组转16进制字符串/// </summary>/// <param name="bArray"></param>/// <returns></returns>public string BoolsToHex(bool[] bArray){int nTemp = BoolsToInt(bArray);return IntToHex(nTemp);}

7、封装好的类

    public class MyMathClass{/// <summary>/// 16进制字符串转二进制BOOL数组/// </summary>/// <param name="strHex"></param>/// <returns></returns>public bool[] HexToBools(string strHex){int nTemp = HexToInt(strHex);return IntToBools(nTemp);}/// <summary>/// 二进制BOOL数组转16进制字符串/// </summary>/// <param name="bArray"></param>/// <returns></returns>public string BoolsToHex(bool[] bArray){int nTemp = BoolsToInt(bArray);return IntToHex(nTemp);}/// <summary>/// 10进制整数转二进制BOOL数组/// </summary>/// <param name="nData"></param>/// <returns></returns>public bool[] IntToBools(int nData){string str = Convert.ToString(nData, 2);int n = str.Length;bool[] bArray = new bool[n];if (n == 1){int temp = Convert.ToInt32(str);bArray[0] = Convert.ToBoolean(temp);}if (n > 1){for (int i = 0; i < n; i++){//char _temp = str[i];string strTemp = Convert.ToString(str[n - 1 - i]);int _temp = Convert.ToInt32(strTemp);bArray[i] = Convert.ToBoolean(_temp);}}return bArray;}/// <summary>/// 二进制BOOL数组转10进制整型/// </summary>/// <param name="bArray"></param>/// <returns></returns>public int BoolsToInt(bool[] bArray){int nNum = 0;for (int i = 0; i < bArray.Length;i++ ){int temp = 0;if(bArray[i]==true){//temp = 2 ^ i;temp = (int)Math.Pow(2, i);}nNum = nNum + temp;}return nNum;}/// <summary>/// 16进制字符串转10进制/// </summary>/// <param name="strHex"><16进制字符串/param>/// <returns>int整型数据</returns>public int HexToInt(string strHex){return Convert.ToInt32(strHex, 16); // 转换为10进制整数}/// <summary>/// 10进制转16进制字符串/// </summary>/// <param name="nData"></param>/// <returns></returns>public string IntToHex(int nData){return nData.ToString("X");}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTE在复杂查询条件下的重要作用

随着数据量和数据结构的日益复杂&#xff0c;数据库查询变得越来越困难。复杂的查询条件通常会涉及多张表、多级联接和嵌套查询。为了简化和优化这些复杂查询&#xff0c;CTE&#xff08;Common Table Expressions&#xff0c;即公用表表达式&#xff09;作为一种强有力的工具被…

Arkui 框架Worker线程

OpenHarmony的ArkUI框架提供了Worker和TaskPool两种多线程编程方式&#xff0c;以支持在应用程序中执行耗时操作而不影响主线程的性能。以下是关于Worker的关键用法和特性&#xff1a; 1. **基本概念与运作原理** - **Worker线程的定义**&#xff1a;Worker是OpenHarmony中一个…

word图题表题公式按照章节编号(不用题注)

预期效果&#xff1a; 其中3表示第三章&#xff0c;4表示第3章里的第4个图。标题、公式编号也是类似的。 为了达到这种按照章节编号的效果&#xff0c;原本可以用插入题注里的“包含章节编号” 但实际情况是&#xff0c;这不仅需要一级标题的序号是用“开始->多级列表”自动…

SQL注入漏洞—SQL注入简介与原理

一、SQL注入基础 1.1 什么是SQL注入漏洞 SQL注入漏洞从1998年圣诞节大火以来长盛不衰&#xff0c;虽然开发人员想出各种方法对他进行围追堵截&#xff0c;却始终无法将其赶尽杀绝&#xff0c;SQL注入的根本原因就是将SQL代码插入或添加到应用&#xff08;用户&#xff09;的输…

docker+[nginx] 部署nacos2.x 集群

docker+[nginx] 部署nacos2.x 集群 由于机器有限,本文搭建伪集群 准备: nacos1 :192.168.50.9:8848 nacos2:192.168.50.9:8858 nacos3:192.168.50.9:8868 mysql nginx 【可选,见文末】 创建容器共享网络 便于直接使用容器名连接mysql,如果不创建,连接mysql直接使用i…

Transformer教程之什么是Transformer

在过去的几年里&#xff0c;Transformer 模型已经成为了自然语言处理&#xff08;NLP&#xff09;领域的主流技术。无论是机器翻译、文本生成还是语音识别&#xff0c;Transformer 都表现出了非凡的性能。那么&#xff0c;什么是 Transformer&#xff1f;它是如何工作的&#x…

WPF----进度条ProgressBar(渐变色)

ProgressBar 是一种用于指示进程或任务的进度的控件&#xff0c;通常在图形用户界面&#xff08;GUI&#xff09;中使用。它提供了一种视觉反馈&#xff0c;显示任务的完成程度&#xff0c;帮助用户了解任务的进展情况。 基本特性 Minimum 和 Maximum 属性&#xff1a; 这些属…

猫也有自动厕所上了吗?自费分享好用的智能猫砂盆,看完不亏。

还有人在用普通猫砂盘吗&#xff1f;之前我也是用的普通猫砂盘&#xff0c;但我发现只要我在上班时间&#xff0c;我就无法顾忌到小猫的便便&#xff0c;但又不想回家就闻到一股臭味&#xff0c;更何况现在夏天也快到了&#xff0c;便便残留一会就会发酵发臭&#xff0c;导致生…

求出某空间曲面下的体积

求出某空间曲面下的体积 flyfish 用小长方体的体积和来逼近该体积 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation# 定义函数 f(x, y) def f(x, y):return np.sin(np.pi * x) * np.sin(np.pi * y)# 创建网格 x np.linspac…

postgre事务id用完后,如何解决这个问题

在PG中事务年龄不能超过2^31 &#xff08;2的31次方2,147,483,648&#xff09;&#xff0c;如果超过了&#xff0c;这条数据就会丢失。 PG中不允许这种情况出现&#xff0c;当事务的年龄离2^31还有1千万的时候&#xff0c;数据库的日志中就会 有如下告警&#xff1a; warning:…

安全感爆棚,锁定六氟化硫SF6气体泄漏报警监测系统

一、概述 六氟化硫SF6气体已有百年历史&#xff0c;它是法国两位化学家Moissan和Lebeau于1900年合成的人造惰性气体&#xff0c; 1947年提供商用。当前SF6气体主要用于电力工业中。化学性质稳定。微溶于水、醇及醚&#xff0c;可溶于氢氧化钾。不与氢氧化钠、液氨、盐酸及水起…

ES6的代理模式-Proxy

语法 target 要使用 Proxy 包装的目标对象&#xff08;可以是任何类型的对象&#xff0c;包括原生数组&#xff0c;函数&#xff0c;甚至另一个代理handler 一个通常以函数作为属性的对象&#xff0c;用来定制拦截行为 const proxy new Proxy(target, handle)举个例子 <s…

【凝聚态场论与多体计算】0.开篇前言

0. 写在最开始 本系列专栏可以说是捡起这个账号&#xff0c;在川大暑期夏令营开始前&#xff0c;既不愿意打游戏度日&#xff0c;又不愿意闲聊&#xff0c;科研结项等东西也是一团乱麻&#xff0c;属于是打发时间的最后尝试。 众所周知&#xff0c;你可以把 CSDN 当作存放作业…

题目 2668: 蓝桥杯2022年第十三届省赛真题-最长不下降子序列

题目 2668: 蓝桥杯2022年第十三届省赛真题-最长不下降子序列 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;代码解释主函数 main辅助函数 computeLNDS 代码说明复杂度分析优化建议 参考代码&#xff1a;错误经验吸取 原题链接&#xff1a; 题目 2668: 蓝桥杯…

C++的模板(八):子系统

平常所见的大部分模板代码&#xff0c;模板所传的参数类型&#xff0c;到了模板里面&#xff0c;或实例化为对象&#xff0c;或嵌入模板内部结构中&#xff0c;或在模板内又派生了子类。不管怎样&#xff0c;最终他们在模板内&#xff0c;直接或间接&#xff0c;都实例化成对象…

常见的Java开发难题包含解决办法内存泄漏异常处理代码质量和维护

常见的Java开发难题包含解决办法内存泄漏异常处理代码质量和维护 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 I…

实践案例:使用Jetpack Navigation创建一个新闻应用

在这个实践案例中&#xff0c;我们将使用Jetpack Navigation创建一个简单的新闻应用。这个应用将包含以下功能&#xff1a; 新闻列表页面&#xff1a;显示一组新闻文章。新闻详情页面&#xff1a;显示选定新闻文章的详细信息。用户资料页面&#xff1a;显示用户的资料信息。 …

从爬取到分析:Faraday爬取Amazon音频后的数据处理

什么是Faraday&#xff1f; Faraday是一个简单、灵活的高级爬虫框架&#xff0c;支持多种编程语言。它提供了一套丰富的API&#xff0c;允许开发者快速构建复杂的爬虫应用。Faraday的主要特点包括&#xff1a; 模块化设计&#xff1a;易于扩展和自定义。多语言支持&#xff1…

Vite 动态导入警告问题解决方案

如上图我要实现从后台获取权限菜单并动态导入进行渲染 但由于 vite 暂时不支持这种导入方式 图中也给出了提示 本人也是这么去做了 但并没什么卵用 后来参考了 vite 的 import.meta.glob 这种方式 我在处理菜单权限控制的菜单里进行了如下操作&#xff1a; …

【网络架构】lvs集群

目录 一、集群与分布式 1.1 集群介绍 1.2 分布式系统 1.3 集群设计原则 二、LVS 2.1 lvs工作原理 2.2 lvs集群体系架构 ​编辑 2.3 lvs功能及组织架构 2.4 lvs集群类型中术语 三、LVS工作模式和命令 3.1 lvs集群的工作模式 3.1.1 lvs的nat模式 3.1.2 lvs的dr模式 …