zoukankan      html  css  js  c++  java
  • ARM7 REV RBIT REV16

     1 // Reverse the bit order in a 32-bit word.
     2 unsigned int rbit(
     3   unsigned int i )
     4 {
     5   i = ( ( i & 0x55555555 ) << 1 ) | ( ( i >> 1 ) & 0x55555555 );
     6   i = ( ( i & 0x33333333 ) << 2 ) | ( ( i >> 2 ) & 0x33333333 );
     7   i = ( ( i & 0x0f0f0f0f ) << 4 ) | ( ( i >> 4 ) & 0x0f0f0f0f );
     8   i = ( i << 24 ) | ( ( i & 0xff00 ) << 8 ) //
     9     | ( ( i >> 8 ) & 0xff00 ) | ( i >> 24 );
    10   return i;
    11 }
    12 
    13 // Reverse byte order in each halfword independently
    14 // converts 16-bit big-endian data into little-endian data
    15 // or 16-bit little-endian data into big-endian data
    16 short rev16(
    17   short s )
    18 {
    19   return ( s << 8 ) | ( s >> 8 );
    20 }
    21 
    22 // Reverse byte order in a word
    23 // converts 32-bit big-endian data into little-endian data
    24 // or 32-bit little-endian data into big-endian data.
    25 unsigned int rev(
    26   unsigned int i )
    27 {
    28   return ( i & 0x000000FFU ) << 24 | ( i & 0x0000FF00U ) << 8
    29     | ( i & 0x00FF0000U ) >> 8 | ( i & 0xFF000000U ) >> 24;
    30 }

  • 相关阅读:
    poj3468(A Simple Problem with Integers)线段树+树状数组
    关于JVM——JVM内存模型
    关于JVM——类加载机制
    关于JVM(二)
    关于JVM(一)
    关于LongAdder
    关于Future
    关于Fork/Join
    关于Atomic
    关于LockSupport
  • 原文地址:https://www.cnblogs.com/shangdawei/p/2846623.html
Copyright © 2011-2022 走看看