zoukankan      html  css  js  c++  java
  • 十六进数制反序

    任意输入四位十六进制整数,以反序方式输出

    #include <stdio.h>
    
    void fun1(unsigned short a) {
        unsigned short b;
    
        printf("========	");
        printf("%#X	", (unsigned short) (a << 12) >> 12 << 12);
        printf("%#X	", (unsigned short) (a << 8) >> 12 << 8);
        printf("%#X	", (unsigned short) (a << 4) >> 12 << 4);
        printf("%#X	", (unsigned short) (a << 0) >> 12 << 0);
        printf("========	");
    
        b = (unsigned short) (a << 12) >> 12 << 12; // D000
        b += (unsigned short) (a << 8) >> 12 << 8; // D000 + C00
        b += (unsigned short) (a << 4) >> 12 << 4; // DC00 + B0
        b += (unsigned short) (a << 0) >> 12 << 0; // DCB0 + A
    
        printf("%#X	", b);
        printf("========
    ");
    }
    
    void fun2(unsigned short a) {
        unsigned short b;
    
        printf("========	");
        printf("%X	", (a & 0x000F) << 12);
        printf("%X	", (a & 0x00F0) << 4);
        printf("%X	", (a & 0x0F00) >> 4);
        printf("%X	", (a & 0xF000) >> 12);
        printf("========	");
    
        b = (a & 0x000F) << 12;
        b += (a & 0x00F0) << 4;
        b += (a & 0x0F00) >> 4;
        b += (a & 0xF000) >> 12;
    
        printf("%X	", b);
        printf("========
    ");
    }
    
    /**
    * 四位十六进制反序:ABCD => DCBA
    */
    int main() {
        // char 0000 0000
        // short 0000 0000 0000 0000
        unsigned short a = 0XABCD;
    
        // scanf("%4X", &a);
    
        printf("%X
    ", a);
    
        fun1(a);
        fun2(a);
    }

  • 相关阅读:
    15 反转链表
    八大排序算法总结(2)
    八大排序算法总结(1)
    22从上往下打印二叉树
    19顺时针打印矩阵
    20包含min函数的栈
    SpringMVC-Mybatis整合和注解开发
    优雅的代码之选择不同支付方式
    利用freemarker+SAX解析xml的方式对excel文件字段校验
    pl/sql编程语言
  • 原文地址:https://www.cnblogs.com/jhxxb/p/13498144.html
Copyright © 2011-2022 走看看