关于二进制转换为十六进制
在二进制转换过程中,每四个二级制的位数是一个十六进制的位数,则每四个四个处理二进制的数,来表示十六进制上的每个位置上的数。(注意使用字符表示二进制的数字)
可以知道0001=1,0010=2,0011=3,0100=4......一直到1111=F
其中若是二进制数位数不满4的倍数,则处理成四的倍数
如七位数1001001——>01001001把前面少的位数补0即可,然后再四位一转换,
如四位1001 从右往左第一四位是1,第二三位是0,则1+0*2+0*4+1*8=9
#include<stdio.h>
void strrev(char *str);
int main()
{
int T;
scanf("%d",&T);
for(int z=0;z<T;z++)
{
getchar();
char str[1000];int i,j;
char bc[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
scanf("%s",str+1);//为了方便从str[1]开始输入
int t=strlen(str+1);
strrev(str+1); //二进制数预处理
while(t%4!=0) str[++t]='0';
strrev(str+1);
for(i=1;i<=t;i+=4)//进制转换,d<<=1相当于d=d*2
{int d=1,res=0;
for(j=i+3;j>=i;j--) {
if(str[j]=='1')res +=d;
d<<=1;
printf("%c",bc[res]);
}
}
printf("\n");
}return 0;
}//自己去写字符串反转函数
void strrev(char *str)
{
}
关于二进制转换为十六进制相关推荐
- C语言二进制转换为十六进制(附完整源码)
C语言二进制转换为十六进制 C语言二进制转换为十六进制完整源码 C语言二进制转换为十六进制完整源码 #include <stdio.h>int main() {long int binar ...
- 二进制转换为十六进制
string MySystem::BinaryToHex(string str) { if (str.empty()) { return ""; } int Complement ...
- bash 将二进制转换为十进制_一文帮你详细图解二进制、八进制、十进制、十六进制之间的转换...
1.背景(Contexts) 之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二.八.十.十六进制转换的计算公式的,进制之间的转换是很基 ...
- java将字节转十六进制,Java代码将字节转换为十六进制
问题 我有一个字节数组.我希望将该数组的每个字节字符串转换为其对应的十六进制值. Java中是否有任何函数将字节数组转换为十六进制? #1 热门回答(240 赞) byte[] bytes = {-1 ...
- bash 将二进制转换为十进制_6、计算机进制之二进制、十进制、十六进制之间的转换...
1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...
- 二进制数据转换为十六进制字符串
// 环境:Windows 10,64bit,VS2017 Enterprise x64 // 二进制数据转换为十六进制字符串 /// // @name: DataToHexString // @br ...
- 十进制转换为十六进制-八进制-二进制的进制转换计算
进制换算在工作中是一项必不可少的技能,例如在RTC中得到的数据为十六进制的,但是我们使用时用的是十进制.这就免不了进行进制之间的换算.进制之间的换算可以手动计算进行换算,也可以编写程序进行换算.这里主 ...
- JS将十进制转换为二进制、十六进制、八进制,任意进制
JS将十进制转换为2进制.16进制.8进制,任意进制 转换为二进制 let n = 1234; console.log(n.toString(2)); 转换为十六进制 let n = 1234; co ...
- 十进制转换为二进制和十六进制
十进制转换为二进制和十六进制 一.十进制数转化为二进制 整数除以2,商继续除以2,得到0为止. 以23为例: 23/2 11余1 11/2 5 余 1 5 /2 2余 1 2 /2 1余 0 1 /2 ...
- 利用栈实现把十进制数转换为二进制至十六进制之间的任一进制数并输出的功能。(第二版)
[实验题目内容] 保持计算机默认的十进制不变(要求不用C++流操纵符转换基数为八进制形式oct,不用C++流操纵符转换基数为十六进制形式hex,也不用setbase(base)函数将基数设置为base ...
最新文章
- JSP中 JSTL和EL标签的使用
- 由浅入深:自己动手开发模板引擎——置换型模板引擎(三)
- 1.模型 16个相机参数(内参、外参、畸变参数)
- java 输出ab_一道在知乎很火的 Java 题——如何输出 ab【转】
- 站立会议(11月19日)
- C#开发模式——单例模式
- MAC版CRT使用心得
- 关于Dijkstra最短路径算法
- three DragControls(拖拽整个模型)
- Training_model(2)
- abandon_mysql_使用Druid报错abandon connection, open stackTrace
- “QQ尾巴病毒”核心技术的实现(转)
- 怎么利用计算机自带功能删除垃圾,win7系统怎么清除电脑里的垃圾
- ResNet 论文阅读笔记
- Java教程-Java 程序员们值得一看的好书推荐
- Spring JDBC 批量操作 数据
- 胡阳pyhton作业题--20150801
- 安卓最牛教材!2021大厂Android面试经历,吐血整理
- 怎么对阿里iconfont两个项目中的字体图标合并
- IOS开发之——屏幕适配-AutoLayout布局实现(02)