欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c語言中十六進(jìn)制轉(zhuǎn)二進(jìn)制顯示的實現(xiàn)方法

 更新時間:2013年05月14日 17:04:40   作者:  
本篇文章對c語言中十六進(jìn)制轉(zhuǎn)二進(jìn)制顯示的實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

復(fù)制代碼 代碼如下:

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

//輸出格式: hex2bin 5e.

//得到: 0101 1110

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

#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 != '\0'; ++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 = '\0';
   return ptr;
}

相關(guān)文章

  • C語言中的fscanf()函數(shù)與vfscanf()函數(shù)使用

    C語言中的fscanf()函數(shù)與vfscanf()函數(shù)使用

    這篇文章主要介紹了C語言中的fscanf()函數(shù)與vfscanf()函數(shù)使用,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • C++超詳細(xì)介紹模板

    C++超詳細(xì)介紹模板

    人們需要編寫多個形式和功能都相似的函數(shù),因此有了函數(shù)模板來減少重復(fù)勞動;人們也需要編寫多個形式和功能都相似的類,于是 C++ 引人了類模板的概念,編譯器從類模板可以自動生成多個類,避免了程序員的重復(fù)勞動
    2022-07-07
  • C++強制類型轉(zhuǎn)換(static_cast、dynamic_cast、const_cast、reinterpret_cast)

    C++強制類型轉(zhuǎn)換(static_cast、dynamic_cast、const_cast、reinterpret_ca

    本文主要介紹了C++強制類型轉(zhuǎn)換,主要介紹了static_cast、dynamic_cast、const_cast、reinterpret_cast的4種方法,感興趣的可以了解一下
    2021-08-08
  • Visual Studio 2019安裝使用C語言程序(VS2019 C語言)

    Visual Studio 2019安裝使用C語言程序(VS2019 C語言)

    這篇文章主要介紹了Visual Studio 2019安裝使用C語言程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 數(shù)據(jù)結(jié)構(gòu) 雙機調(diào)度問題的實例詳解

    數(shù)據(jù)結(jié)構(gòu) 雙機調(diào)度問題的實例詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 雙機調(diào)度問題的實例詳解的相關(guān)資料,雙機調(diào)度問題,又稱獨立任務(wù)最優(yōu)調(diào)度:用兩臺處理機A和B處理n個作業(yè)的實例,需要的朋友可以參考下
    2017-08-08
  • 深入c語言continue和break的區(qū)別詳解

    深入c語言continue和break的區(qū)別詳解

    本篇文章是對c語言中continue和break的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現(xiàn)停車場管理系統(tǒng)

    C語言實現(xiàn)停車場管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)停車場管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • OpenCV實現(xiàn)人臉檢測

    OpenCV實現(xiàn)人臉檢測

    這篇文章主要為大家詳細(xì)介紹了OpenCV實現(xiàn)人臉檢測的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++中高性能內(nèi)存池的實現(xiàn)詳解

    C++中高性能內(nèi)存池的實現(xiàn)詳解

    在 C/C++ 中,內(nèi)存管理是一個非常棘手的問題,我們在編寫一個程序的時候幾乎不可避免的要遇到內(nèi)存的分配邏輯。本文將通過C++實現(xiàn)高性能內(nèi)存池,感興趣的可以了解一下
    2022-10-10
  • Linux配置C++11編譯環(huán)境的方法

    Linux配置C++11編譯環(huán)境的方法

    這篇文章主要介紹了Linux配置C++11編譯環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論