zoukankan      html  css  js  c++  java
  • 2、8、10、16进制输出

    #include <stdio.h>
    #include <stdlib.h>
    typedef short type;  //进行二进制转换的数据类型

    /********************************************************************************
    *  Description:本函数实现 将type类型的数据以二进制形式输出
    *   Input Args:待输出的原始数据
    * Return Value:void
    ********************************************************************************/
    void binary_output(type a)
    {
        int i;
        type b;
        char *ptr = (char *)malloc(8*sizeof(a));
        ptr += 8*sizeof(a); //将指针指向分配的空间的末尾,便于下面的赋值
        for(i=8*sizeof(a)-1;i>0;i--) //循环次数减一,否则ptr最后就多减了,从而指向的不是分配的首地址了
        {
            b = a&1;
            *ptr-- = b+'0'; //试过不用间接数据b,但是会出错
            a >>= 1;
        }

        b = a&1;
        *ptr = b+'0';

        printf("二进制:%s ",ptr);

         free(ptr);
    }

    int main (int argc, char **argv)
    {
        type a = 12;
        printf("十进制:%d ",a);
        printf("八进制:%o ",a);
        printf("十六进制:%0x ",a);
        binary_output(a);
        printf("地址形式:%#x ",a);
        printf("地址形式:%p ",a);
        return 0;
    }

    输出

    十进制:12
    八进制:14
    十六进制:c
    二进制:0000000000001100
    地址形式:0xc
    地址形式:0xc

  • 相关阅读:
    HDU 4492 Mystery (水题)
    UVA 10480 Sabotage (最大流)
    POJ 2446 Chessboard (二分匹配)
    VS2008下用MFC 的MSComm控件编写串口程序
    退役了~~~
    STL Algorithms 之 unique
    cocos2d中CCCallFuncND传参数的注意事项
    好太太晾衣架市场价格表(仅供参考)
    Linux VNC黑屏(转)
    C++ TinyXml操作(含源码下载)
  • 原文地址:https://www.cnblogs.com/zhanbiqiang/p/4109349.html
Copyright © 2011-2022 走看看