Bailian2798 2进制转化为16进制【进制】
2进制转化为3进制
描述
输入一个2进制的数,要求输出该2进制数的16进制表示。
在16进制的表示中,A-F表示10-15
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个以0和1组成的字符串,字符串长度至少是1,至多是10000
输出
n行,每行输出对应一个输入。
样例输入
2
100000
111
样例输出
20
7
问题链接:Bailian2798 2进制转化为16进制
问题简述:2进制转16进制,每4位变成1位。
问题分析:
2进制数的位数事先是不知道的,为了整齐在2进制数的前面加4个'0',以便于转换。
转换的结果放入同一数组中,需要合适的数组下标计算。
16进制值转换为16进制字符,使用查表方式实现(也可以用程序逻辑实现),使用了数组convert[]。
程序说明:(略)
题记:(略)
AC的C语言程序如下:
/* Bailian2798 2进制转化为16进制 */#include <stdio.h>
#include <string.h>#define N 10000
#define N2 4
char s[N + N2 + 1];char convert[] = "0123456789ABCDEF";int main(void)
{int n, len, digits, i, k;scanf("%d", &n);getchar();while(n--) {gets(s + N2);s[0] = s[1] = s[2] = s[3] = '0';len = strlen(s + N2); /* 2进制位数 */digits = (len + N2 - 1) / N2; /* 16进制位数 */len += N2 - 1;for(i=1, k=len; i<=digits; i++) {s[k--] = convert[(s[len - 3] - '0') * 8 + (s[len - 2] - '0') * 4 + (s[len - 1] - '0') * 2 + (s[len] - '0')];len -= N2;}printf("%s\n", &s[k + 1]);}return 0;
}
Bailian2798 2进制转化为16进制【进制】相关推荐
- 10进制转化为16进制的算法
除16取余数得最低1位,然后把商继续除得第2位,直到商等于0 65036 除 16,余数 12(C),商4064 4064 除 16,余数 0(0),商254 254 除 16,余数 14(E),商1 ...
- 10进制转化为16进制以内的转化
进制转化问题 十进制转化为其它进制应该是比较简单的问题,就是一个%和/的问题,模之后再除就ok了 1 int a[1000]; 2 char c[]={'0','1','2','3','4','5', ...
- php 字符串转化为16进制,php将字符串转换成16进制的方法
php将字符串转换成16进制的方法 本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2 ...
- 计算机基础 进制转化,计算机基础知识_进制转化(示例代码)
进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1 + 6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计 ...
- java字节数组转换成16进制_Java 将字节数组转化为16进制的多种方案
很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...
- c语言 乱码转化为16进制_C语言版的16进制与字符串互转函数
http://www.cnblogs.com/nio-nio/p/3309367.html /* // C prototype : void StrToHex(BYTE *pbDest, BYTE * ...
- 十进制转化为16进制
有以下种方式实现,其中两种是使用系统函数,另一种是直接自己编写. main() { int u10=0; char u16[10]; int w=0,a,b,i; printf("请输入一个 ...
- 进制转化:从键盘接收一个4位的十进制数,将它转化为16进制并输出
;从键盘接收一个4位的十进制数,将它转化为16进制并输出 DATA SEGMENT NUM DW 0 CRLF DB 0AH,0DH,24H DATA ENDS STACK SEGMENT PA ...
- 数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制
int[] arr4={1,2,3,4,5};System.out.println("arr4: "+arr4); System.out.println("arr4.ha ...
最新文章
- 羊皮卷的故事-第十章-羊皮卷之三
- h5网页在移动端(安卓)head里的title为空,默认显示url地址。js代码将head的title设置为空
- 代码的简单就在于——直接能看懂
- 不礼让行人怎么抓拍的_榆林机动车斑马线不礼让行人,您被曝光啦
- 【LINUX系列】之字符串搜索命令
- php读取excel存入mysql数据库_PHP将Excel内容导入mysql数据库
- 用 SQL 脚本读取Excel 中的sheet数量及名称
- 【045】HTML初学
- C# Dictionary 的几种遍历方法
- stm32软件模拟I2C
- 读nandflash---根据数据手册K9GAG08U0D
- 检测心率的体重心率秤方案开发
- 数字图像处理 - Ch2 图像取样与量化
- 恶魔奶爸语法1-3课
- 酒水行业数字化转型解决方案
- 三星电视服务器正在维护0-1,三星液晶电视维修常见故障及排查
- matlab中如何让保存的图片不含白边
- 详解sd协议以及裸机和u-boot中的sd卡驱动(2)
- 一文SparkSQL
- 【HDOJ】1018 Big Number_天涯浪子_新浪博客
热门文章
- 安笙机器人_张翰新戏搭档徐璐!包贝尔要和辛芷蕾演奇幻电影?
- JavaWeb——response与request
- 使用jQuery Mobile快速开发手机站点
- asp.net数据库连接web.config配置
- 【转】缺陷与出路—一个游戏开发者的反思
- 计算机键盘prtscr,键盘上的SCR是什么意思(电脑截图的快捷方式都有哪些)
- 【数据结构的魅力】005.链表问题专项
- 机器人教练走进驾校_机器人教练走进中通驾校
- Centos7安装完成找不到 ifconfig 网路设置命令
- ADO.NET 2.0 功能一览