二进制to十六进制
输入小于等于十六位的二进制数据,输出十六进制数据;
#include <stdio.h>
#include <stdlib.h>
#include <math.h>int main(void) {char arr[16] = { 0 }; int array[16] = { 0 }; int hex[4] = { 0 };int i = 0; int num = 0;scanf("%s", arr);printf("%s\n", arr);while (arr[i] != '\0'){i++;}printf("%d\n", i); //arr[16]={'1','0','0','1','1','0','\0', , , ... , , , }int len = 16 - i;for (int k = i; k >= 0; k--) //往后移 arr[16]={'\0', '\0', ... ,'\0' ,'\0' ,'1','0','0','1','1','0', }{ arr[k + len] = arr[k];} //arr[15-i]for (int d = 0; d < len; d++) //前面的填充为'0'{ arr[d] = '0';}for (int j = 0; j < 16; j++) {array[j] = arr[j] - '0';}for (int s = 0; s < 16; s++) //array[16]={0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1}{ printf("array[s]=%d\n", array[s]);}for (int c = 15; c >= 0; c--) {int l = 0;if (array[c] != 0) {l = 15 - c; int x = 0;if (l < 4) {x = l % 4;hex[0] = hex[0] + pow(2, x);}if (l >= 4 && l < 8) {x = (l - 4) % 8;hex[1] = hex[1] + pow(2, x);}if (l >= 8 && l < 12) {x = (l - 8) % 12;hex[2] = hex[2] + pow(2, x);}if (l >= 12 && l < 16) {x = (l - 12) % 16;hex[3] = hex[3] + pow(2, x);}}}char ar[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };printf("16radix:%c%c%c%c", ar[hex[3]], ar[hex[2]], ar[hex[1]], ar[hex[0]]);return 0;
}
生成十六进制的部分有点绕,所以写了个新的,空了补上算法的思路.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>int main(void) {char arr[16] = { 0 }; int array[16] = { 0 },array_new[16]={0};int hex[4] = { 0 };int i = 0; scanf("%s", arr);printf("输入为:%s\n", arr); //假设输入为:arr[16]={'1','1','0','1','1','0','\0', , , ... , , , }while (arr[i] != '\0'){i++;}printf("输入位数=%d\n", i); int len = 16 - i;for (int k = i; k >= 0; k--) //往后移 arr[16]={'\0', '\0', ... ,'\0' ,'\0' ,'1','1','0','1','1','0','0' }{ arr[k + len] = arr[k];} //arr[15-i]for (int d = 0; d < len; d++) //前面的填充为'0'{ arr[d] = '0';}for (int j = 0; j < 16; j++) {array[j] = arr[j] - '0'; //char数字 to int数字; }for(int i=0;i<16;i++) //array_new[16]={0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0}{ array_new[i]=array[15-i];} for(int k=0;k<16;k++) //倒序生成array_new;{if((k<4)&&(array_new[k]==1)){hex[3]=hex[3]+pow(2,k);}if(((k>=4)&&(k<8))&&(array_new[k]==1)){hex[2]=hex[2]+pow(2,k-4);}if(((k>=8)&&(k<12))&&(array_new[k]==1)){hex[1]=hex[1]+pow(2,k-8);}if(((k>=12)&&(k<16))&&(array_new[k]==1)){hex[0]=hex[0]+pow(2,k-12);}}printf("\n");char ar[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };printf("16radix:%c%c%c%c", ar[hex[3]], ar[hex[2]], ar[hex[1]], ar[hex[0]]);return 0;
}
相关文章:
二进制to十六进制
输入小于等于十六位的二进制数据,输出十六进制数据; #include <stdio.h> #include <stdlib.h> #include <math.h>int main(void) {char arr[16] { 0 }; int array[16] { 0 }; int hex[4] { 0 };int i 0; int num 0;scanf("…...
Logistic 回归算法
Logistic 回归 Logistic 回归算法Logistic 回归简述Sigmoid 函数Logistic 回归模型表达式求解参数 $\theta $梯度上升优化算法 Logistic 回归简单实现使用 sklearn 构建 Logistic 回归分类器Logistic 回归算法的优缺点 Logistic 回归算法 Logistic 回归简述 Logistic 回归是一…...
ubuntu安装详细步骤
一,先下载vmware 1,第一步打开上面链接 下载网址 : https://www.vmware.com/products/workstation-pro/wo rkstation-pro-evaluation.html 许可证 JU090-6039P-08409-8J0QH-2YR7F ZF3R0-FHED2-M80TY-8QYGC-NPKYF FC7D0-D1YDL-M8DXZ-CYPZE-P2AY6 ZC3T…...
力扣5. 最长回文子串
动态规划 思路: 假设 dp[i][j] 为字符串 (i, j) 子串是否为回文的结果;那么 dp[i][j] dp[i 1][j - 1] 且 (s[i] s[j]);长度为1的字符串都是回文; 原字符串长度为1,是回文;原字符串子串长度为1ÿ…...
肆[4],函数VectorToHomMat2d/AffineTransPoint2d
函数VectorToHomMat2d C形式 LIntExport void VectorToHomMat2d( const HTuple& Px, const HTuple& Py, const HTuple& Qx, const HTuple& Qy, HTuple* HomMat2D);//参数1:图像坐标X数组 //参数2:图像坐标Y数组 //参数3:世界坐标X数组 //参数4:世界坐标Y…...
下载文件 后端返回给前端 response header 响应头
当浏览器在请求资源时,会通过http返回头中的content-type决定如何显示/处理将要加载的数据,如果这个类型浏览器能够支持阅览,浏览器就会直接展示该资源,比如png、jpeg、video等格式。在某些下载文件的场景中,服务端可能…...
lvs负载均集群
目录 NAT模式 LVS负载均衡群集部署 1.部署共享存储 2.配置节点服务器 192.168.17.130 编辑 192.168.17.133 3.配置负载调度器 4.测试效果 NAT模式 LVS负载均衡群集部署 负载调度器:内网关 ens33:192.168.17.70,外网关 ens36&#x…...
luttuce(RedisTempate)实现hash expire lua脚本
话不多说先放脚本: local argv ARGV local length #argv if length > 0 then local unpackArgs {} for i 1, length - 1 dotable.insert(unpackArgs, argv[i]) end if redis.call(exists, KEYS[1]) 1 thenredis.call(del, KEYS[1])redis.call(hset, KEYS[…...
【Xamarin】WebView连接局域网自动跳转外部浏览器问题的解决
xamarin在中国用的很少,但也有一些独到之处。例如用惯了Visual Studio的就很合适。而且类Java开发,几乎没什么障碍。 protected override void OnCreate(Bundle savedInstanceState) {base.OnCreate(savedInstanceState);Xamarin.Essentials.Platform.I…...
【Unity动画】实现不同的肢体动作自由搭配播放Layer+Avatar Mask
这个教程教你学会使用Unity 动画层配合布偶遮罩(AvaterMask) 实现从2个动画身上只保留部分肢体动作,然后搭配播放 例如:一个正常跑的动画片段,我只保留腿部动作,形成一个层叫Run_leg 然后在从一个攻击动作…...
将0x06(16进制)转换为二进制
将0x06(16进制)转换为二进制,可以按照如下步骤进行: 1. 将0x06中的字母"0x"去除。 2. 将数字"06"中的数字"0"去除。 3. 将数字"06"转换为二进制。 根据步骤1和步骤2,去除&q…...
考PRINCE2有用么?有PMP证书了还需要考PRINCE2吗?
有用的,PMP相当于是理论,PRINCE2是实践,对小白来说pmp考后再考一个prince2是很好的选择,对项目管理的小白来说更好入门。 先来说下 prince 2 和 pmp 的区别 一、prince 2 是什么?跟PMP有什么区别? prince…...
06进程间关系-学习笔记
Orphan Process孤儿进程 父进程先于子进程退出,子进程失去托管,这种子进程统称为孤儿进程 失效进程(孤儿进程):导致内存泄漏,影响新进程的创建孤儿进程的危害不可预测,如果一个孤儿进程持续的申…...
Vue的动画方式有几种
Vue的动画方式有几种? Vue的动画方式主要分成两大类,一类是CSS动画,一类是JS动画 CSS动画中包含transition以及animation,但在Vue中只需要通过transition封装组件实现。 CSS动画的类名主要包括:v-enter、v-enter-acti…...
PyTorch: 基于【VGG16】处理MNIST数据集的图像分类任务【准确率98.9%+】
目录 引言在Conda虚拟环境下安装pytorch步骤一:利用代码自动下载mnist数据集步骤二:搭建基于VGG16的图像分类模型步骤三:训练模型步骤四:测试模型运行结果后续模型的优化和改进建议完整代码结束语 引言 在本博客中,小…...
【lombok】从easyExcel read不到值到cglib @Accessors(chain = true)隐藏的大坑
背景: 在一次使用easyExcel.read 读取excel时,发现实体类字段没有值,在反复测试后,发现去掉Accessors(chain true)就正常了,为了验证原因,进行了一次代码跟踪 由于调用链路特别长,只列举出部分代码&#x…...
1-SaaS通识
云计算 讲SaaS必须先讲云计算。云计算通过互联网提供计算服务,包括服务器、存储、数据库、网络、应用等,采用按需付费的定价模式。 云计算的4种部署模式 公有云:由云服务商拥有和管理,就好比水电,居民共享ÿ…...
Spring Boot实现接口幂等
Spring Boot实现接口幂等 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:…...
ShopsN commentUpload 文件上传漏洞复现
0x01 产品简介 ShopsN 是一款符合企业级商用标准全功能的真正允许免费商业用途的开源网店全网系统。 0x02 漏洞概述 ShopsN commentUpload 接口处存在任意文件上传漏洞,攻击者可以利用文件上传漏洞执行恶意代码、写入后门、读取敏感文件,从而可能导致服务器受到攻击并被控…...
【Qt5】ui文件最后会变成头文件
2023年12月14日,周四下午 我也是今天下午偶然间发现这个的 在使用Qt的uic(User Interface Compiler)工具编译ui文件时,会生成对应的头文件。 在Qt中,ui文件是用于描述用户界面的XML文件,而头文件是用于在…...
别再搞混了!设备上那个RJ45口是Console调试口,不是网口(附UART转RS-232电路详解)
网络设备调试入门:解密Console口的真实身份与电路原理 刚拿到一台崭新的交换机或路由器时,许多新手会对着设备后面板上那个看似普通的RJ45接口发愣——它长得和网口几乎一模一样,但旁边却标注着"Console"。这个看似简单的接口背后&…...
ToDesk、向日葵、UU远程横评:谁才是2026国产远控首
ToDesk、向日葵、UU远程横评:谁才是2026国产远控首选一、前言:国产远控崛起,2026 怎么选?远程控制早已从 “小众工具” 变成个人、办公、游戏、运维的刚需。2026 年国产远控阵营已全面崛起,ToDesk、向日葵、UU 远程成为…...
解锁iPad生产力:一文详解连接Windows作副屏的实用方案
1. 为什么需要把iPad变成Windows副屏? 作为一名常年奔波在客户现场的技术顾问,我的背包里永远装着三样东西:Windows笔记本、iPad和充电宝。有次在高铁上赶方案,盯着13寸的笔记本屏幕同时开PS修图、写文档和查资料,差点…...
收藏!2026大厂AI招聘火爆:日薪5000抢博士,普通岗简历石沉大海?小白程序员必看生存指南
2026年大厂招聘季AI岗位需求暴涨215%,字节日薪5000抢清北博士,阿里AI岗占offer六成。AI核心岗位年薪可达百万,供需比仅0.15。非AI岗位受冲击,但AIGC产品经理、AI运营等潜力岗位升温。求职者需注重顶会论文、开源贡献等加分项&…...
Awesome-AITools:AI开发者必备的开源工具聚合地图
1. 项目概述:一份AI工具的“藏宝图”如果你是一名AI开发者、研究者,或者只是一个对AI工具充满好奇的探索者,那么你肯定经历过这样的时刻:面对网络上浩如烟海的AI工具,从聊天机器人、代码助手到图像生成、模型训练平台&…...
百度网盘群晖套件终极指南:3步实现NAS云存储完美整合
百度网盘群晖套件终极指南:3步实现NAS云存储完美整合 【免费下载链接】synology-baiduNetdisk-package 项目地址: https://gitcode.com/gh_mirrors/sy/synology-baiduNetdisk-package 想在群晖NAS上直接管理百度网盘文件?这个开源套件让你轻松实…...
消息队列选型对比
目录消息队列选型对比:从核心原理到场景化决策一、快速选型:一张表看懂核心差异二、深入解读:每款 MQ 的设计哲学与适用边界2.1 RabbitMQ:灵活路由的企业级消息代理2.2 Apache Kafka:吞吐为王的日志流平台2.3 Apache R…...
WeChatFerry:基于RPC与DLL注入的微信PC端自动化框架深度解析
1. 项目概述与核心价值 最近在折腾微信自动化相关的东西,发现了一个挺有意思的项目——WeChatFerry。这名字起得挺形象,“Ferry”是渡轮的意思,感觉就像是在你的程序和微信客户端之间搭了一座桥,让数据可以安全、稳定地“摆渡”过…...
基于Python的自动化数据简报生成:从模板驱动到部署实践
1. 项目概述:数据简报的自动化生成利器如果你也和我一样,每天需要从一堆数据库、日志文件和API接口里捞出数据,然后吭哧吭哧地整理成PPT或者Word报告,那你一定懂这种重复劳动的痛苦。数据本身就在那里,但把它们变成老板…...
RAG系统安全攻防:从PoisonedRAG看检索增强生成的风险与防御
1. 项目概述:当检索增强生成遭遇“毒药”最近在开源社区里,一个名为“PoisonedRAG”的项目引起了我的注意。这个名字本身就充满了戏剧性——“中毒的RAG”。作为一名长期关注大语言模型应用落地的从业者,我立刻意识到,这绝不是一个…...
