• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求问高字节与低字节怎样相互调换?

FEItwo 2019-04-06 浏览量:1382
比如:a=1234 转换变成:a=3412
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1234是16进制还是10进制的,

    16进制,就是把变量与0x00ff与0xff00与运算后,再移位

    10进制,就是把个位,十位,百位,千位取出来,再组合

    • 发布于 2019-04-07
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:7
  • a/100+a%100*100这样就可以了,如果写成函数就是

    u32 change (u32 num)

    {

       return num/100+num%100*100;

    }


    • 发布于2019-04-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 整型变量可以通过除法取得高位,取余取得低位,再分别保存高位和低位,然后交换得到新的数值。



    • 发布于2019-04-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 你这个是十进制数还是16进制数?

    如果是0x1234,则

    U16 H2L( U16 myin){

         return ( (myin & 0xff00) >> 8) | ( (myin & 0x00ff ) << 8) ;

    }


    如果是十进制数1234则:

    U32 H2LT ( U32 myin ){

       return ( myin/100+myin%100*100);

    }

    • 发布于2019-04-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以这样,y = ( (y & 0xff00) >> 8) | ( (y & 0x00ff ) << 8);
    • 发布于2019-04-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 思路就是先取出高两位,然后低两位乘上100加上高两位

    可以通过b=(a%100)*100+a/100;来实现


    • 发布于2019-04-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 取出高两位与低两位进行交换。使用取余的方式,取出千位、百位,十位,个位,

    再个位乘1000,十位+100,百位乘10,个位乘1总合


    • 发布于2019-04-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 用一个变量先存储地位的数据,然后把高位的数据右移到地位,在把低位数据的左移过去

    tmp = a & 0x00ff;

    a = a >> 8;

    a = a | (tmp << 8);

    这样就实现了
    • 发布于2019-04-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求问高字节与低字节怎样相互调换?