c语言中十六进制转二进制显示的实现方法

吃了不消化

吃了不消化

2016-02-19 09:06

下面图老师小编跟大家分享c语言中十六进制转二进制显示的实现方法,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

代码如下:

//======================================

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

//输出格式: hex2bin 5e.

//得到: 0101 1110

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

//======================================

#include stdio.h
#include limits.h

char *bitstr(char *, void const *, size_t);

int main(int argc, char **argv)
{

   unsigned char value;
   char *pointer;
   char ebits[CHAR_BIT * sizeof value + 1];

  
   value = 0;

   for (pointer = argv[1]; *pointer; ++pointer) {
     value = 4;
     switch (*pointer) {
        case 'a':
        case 'A':
            value += 0xa;
            break;
        case 'b':
        case 'B':
            value += 0xb;
            break;
        case 'c':
        case 'C':
            value += 0xc;
            break;
        case 'd':
        case 'D':
            value += 0xd;
            break;
        case 'e':
        case 'E':
            value += 0xe;
            break;
        case 'f':
        case 'F':
            value += 0xf;
            break;
        default:
            value += *pointer - '0';
            break;
  }
   }
   bitstr(ebits, &value, sizeof value);
   printf("The binary representation of 0x%s is ", argv[1]);

   for (pointer = ebits, value = 0; *pointer != ''; ++pointer) {
    if(value 3) {
           value = 0;
     putchar(' ');
           putchar(*pointer);
    }
    else {
     value++;
        putchar(*pointer);
    }
   }
  

   return 0;
}

char *bitstr(char *str, const void *obj, size_t n)
{
   unsigned char mask;
   const unsigned char *byte = obj;
   char *const ptr = str;

   while (n--) {
      mask = ((unsigned char)-1 1) + 1;
      do {
         *str++ = (char)(mask & byte[n] ? '1' : '0');
         mask = 1;
      } while (mask);
   }
   *str = '';
   return ptr;
}

展开更多 50%)
分享

猜你喜欢

c语言中十六进制转二进制显示的实现方法

编程语言 网络编程
c语言中十六进制转二进制显示的实现方法

整理C# 二进制十进制十六进制 互转

编程语言 网络编程
整理C# 二进制十进制十六进制 互转

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

c语言中十进制转二进制显示小工具的实现代码

编程语言 网络编程
c语言中十进制转二进制显示小工具的实现代码

二进制浏览、编辑的实现

C语言教程 C语言函数
二进制浏览、编辑的实现

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

二进制领域攻略

电脑网络
二进制领域攻略

处理二进制数据

ASP
处理二进制数据

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

js实现的层变换效果

js实现的层变换效果

妙用PowerPint 2003刻录多媒体光盘

妙用PowerPint 2003刻录多媒体光盘
下拉加载更多内容 ↓