1234是16进制还是10进制的,
16进制,就是把变量与0x00ff与0xff00与运算后,再移位
10进制,就是把个位,十位,百位,千位取出来,再组合
a/100+a%100*100这样就可以了,如果写成函数就是
u32 change (u32 num)
{
return num/100+num%100*100;
}
整型变量可以通过除法取得高位,取余取得低位,再分别保存高位和低位,然后交换得到新的数值。
你这个是十进制数还是16进制数?
如果是0x1234,则
U16 H2L( U16 myin){
return ( (myin & 0xff00) >> 8) | ( (myin & 0x00ff ) << 8) ;
如果是十进制数1234则:
U32 H2LT ( U32 myin ){
return ( myin/100+myin%100*100);
思路就是先取出高两位,然后低两位乘上100加上高两位
可以通过b=(a%100)*100+a/100;来实现
取出高两位与低两位进行交换。使用取余的方式,取出千位、百位,十位,个位,
再个位乘1000,十位+100,百位乘10,个位乘1总合
用一个变量先存储地位的数据,然后把高位的数据右移到地位,在把低位数据的左移过去
tmp = a & 0x00ff;
a = a >> 8;
a = a | (tmp << 8);