• 十六进数制反序


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

    #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);
    }

  • 相关阅读:
    cnpm镜像安装
    wxParse解析html
    C++回调函数
    QT源码分析:QTcpServer
    QT实现支持加密的Sqlite数据库引擎
    VS2013+OpenCV3.4.2编译
    Android Tcp操作
    使用Delphi开发linux应用
    QT5.10+MinGW+OpenCV3.4.2编译
    C++ ActiveX开发的问题讨论
  • 原文地址:https://www.cnblogs.com/jhxxb/p/13498144.html
Copyright © 2020-2023  润新知