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进制【进制】相关推荐

  1. 10进制转化为16进制的算法

    除16取余数得最低1位,然后把商继续除得第2位,直到商等于0 65036 除 16,余数 12(C),商4064 4064 除 16,余数 0(0),商254 254 除 16,余数 14(E),商1 ...

  2. 10进制转化为16进制以内的转化

    进制转化问题 十进制转化为其它进制应该是比较简单的问题,就是一个%和/的问题,模之后再除就ok了 1 int a[1000]; 2 char c[]={'0','1','2','3','4','5', ...

  3. php 字符串转化为16进制,php将字符串转换成16进制的方法

    php将字符串转换成16进制的方法 本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2 ...

  4. 计算机基础 进制转化,计算机基础知识_进制转化(示例代码)

    进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计 ...

  5. java字节数组转换成16进制_Java 将字节数组转化为16进制的多种方案

    很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...

  6. c语言 乱码转化为16进制_C语言版的16进制与字符串互转函数

    http://www.cnblogs.com/nio-nio/p/3309367.html /* // C prototype : void StrToHex(BYTE *pbDest, BYTE * ...

  7. 十进制转化为16进制

    有以下种方式实现,其中两种是使用系统函数,另一种是直接自己编写. main() { int u10=0; char u16[10]; int w=0,a,b,i; printf("请输入一个 ...

  8. 进制转化:从键盘接收一个4位的十进制数,将它转化为16进制并输出

    ;从键盘接收一个4位的十进制数,将它转化为16进制并输出 DATA SEGMENT NUM  DW 0 CRLF   DB 0AH,0DH,24H DATA ENDS STACK SEGMENT PA ...

  9. 数组中hashCode就是内存地址,以及汉字幻化为16进制或10进制

    int[] arr4={1,2,3,4,5};System.out.println("arr4: "+arr4); System.out.println("arr4.ha ...

最新文章

  1. 羊皮卷的故事-第十章-羊皮卷之三
  2. h5网页在移动端(安卓)head里的title为空,默认显示url地址。js代码将head的title设置为空
  3. 代码的简单就在于——直接能看懂
  4. 不礼让行人怎么抓拍的_榆林机动车斑马线不礼让行人,您被曝光啦
  5. 【LINUX系列】之字符串搜索命令
  6. php读取excel存入mysql数据库_PHP将Excel内容导入mysql数据库
  7. 用 SQL 脚本读取Excel 中的sheet数量及名称
  8. 【045】HTML初学
  9. C# Dictionary 的几种遍历方法
  10. stm32软件模拟I2C
  11. 读nandflash---根据数据手册K9GAG08U0D
  12. 检测心率的体重心率秤方案开发
  13. 数字图像处理 - Ch2 图像取样与量化
  14. 恶魔奶爸语法1-3课
  15. 酒水行业数字化转型解决方案
  16. 三星电视服务器正在维护0-1,三星液晶电视维修常见故障及排查
  17. matlab中如何让保存的图片不含白边
  18. 详解sd协议以及裸机和u-boot中的sd卡驱动(2)
  19. 一文SparkSQL
  20. 【HDOJ】1018 Big Number_天涯浪子_新浪博客

热门文章

  1. 安笙机器人_张翰新戏搭档徐璐!包贝尔要和辛芷蕾演奇幻电影?
  2. JavaWeb——response与request
  3. 使用jQuery Mobile快速开发手机站点
  4. asp.net数据库连接web.config配置
  5. 【转】缺陷与出路—一个游戏开发者的反思
  6. 计算机键盘prtscr,键盘上的SCR是什么意思(电脑截图的快捷方式都有哪些)
  7. 【数据结构的魅力】005.链表问题专项
  8. 机器人教练走进驾校_机器人教练走进中通驾校
  9. Centos7安装完成找不到 ifconfig 网路设置命令
  10. ADO.NET 2.0 功能一览