zoukankan      html  css  js  c++  java
  • 将一个字符(char)或者一个整形(int)的二进制形式输出

    要输出一个数的二进制形式使用位操作  >> 和 &

    void putBinary(int number)//将一个int整形数字的二进制形式正序,倒序输出
    {
        int value;
        int i;
        for (i = 31; i >= 0;i--)//正序
        {
            int value = number >> i & 1;
            printf("%d", value);
        }
        printf("
    ");
    
        for (i = 0; i <= 31; i++)//倒序
        {
            int value = number >> i & 1;
            printf("%d", value);
        }
        printf("
    ");
    }
    
    void putBinary(char c) //将一个字符的二进制形式正序,倒序输出
    {
        int value;
        int i;
        
        for (i = 7; i >= 0; i--)//正序
        {
            value = (int)c >> i & 1;
            printf("%d", value);
        }
        printf("
    ");
    
        for (i = 0; i <= 7; i++)//倒序
        {
            value = (int)c >> i & 1;
            printf("%d", value);
        }
        printf("
    ");
        
    }
    int main(void)
    {
        printf("'0' = %d, A = %d, a = %d
    ",'0','A','a');
        printf("'5' - '0' = %d
    ",(int)('5' - '0'));
        
        putBinary(0);
        putBinary(65);
        putBinary(97);
        putBinary('0');
        putBinary('A');
        putBinary('a');
    
        while (1);
        return 0;
    }

     一些其他方法

    void f(int n)
    {
        if (n) 
            f(n / 2);
        else 
            return;
        printf("%d", n % 2);
    }
    void f(int input)
    {
        int i = 0;
        int arr[32] = { 0 };
        for (i = 0; i < 32; i++)
        {
            arr[i] = input % 2;//除2取余法放入数组
            input = input / 2;
        }
        for (i = 31; i >= 0; i--)
        {
            printf("%d", arr[i]);//余数倒序输出
        }
    }
  • 相关阅读:
    ExcelDataReader read excel file
    DocumentFormat.OpenXml read excel file
    java高并发系列
    java高并发系列
    java高并发系列
    java高并发系列
    java高并发系列
    java高并发系列
    java高并发系列
    java高并发系列
  • 原文地址:https://www.cnblogs.com/nanqiang/p/9988293.html
Copyright © 2011-2022 走看看