當前位置:首頁 » 編程語言 » c語言高低位互換代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言高低位互換代碼

發布時間: 2023-02-15 01:02:37

c語言高低位互換問題

<< >>要加括弧有優先順序的啊c=((b&0x0000ffff)<<16)+((b&0xffff0000)>>16);

❷ c語言實現2個位元組的高低位轉化

2個位元組short int 高低位轉化:
short int y=0x7f21;
y = ( (y & 0xff00) >> 8) | ( (y & 0x00ff ) << 8);
printf("%#x",y);

-------------------------------
也可以利用 union
union B2
{
short int i;
unsigned char c[2];
// 。。。任意兩位元組類型
} ;

union B2 x;
unsigned char tmp;
x.i=0x1234;
tmp = x.c[0]; x.c[0]=x.c[1];x.c[1]=tmp;
// 也可以用上面的位運算方法交換高低端
printf("%#x\n",x.i);

// union 方法特別適合4位元組8位元組 大端小端碼的轉換操作。

❸ C語言 對位元組的高位和低位進行互換!

可以直接用位運算:按位與,按位或,移位等

#include "stdio.h"
int main()
{
unsigned char tmp1,tmp2;

printf("please input a char: ");
scanf("%c", &tmp1);
tmp2=
((tmp1&0x01)<<7)
|((tmp1&0x02)<<5)
|((tmp1&0x04)<<3)
|((tmp1&0x08)<<1)
|((tmp1&0x10)>>1)
|((tmp1&0x20)>>3)
|((tmp1&0x40)>>5)
|((tmp1&0x80)>>7);
printf("converted char is: %c\n", tmp2);
return 0;
}

❹ 一個位元組高低位互換,怎麼C語言寫

用移位操作來實現。 int newValue; char value1, value2; newValue = (value1

❺ C語言高低位互換操作

在看圖形處理源碼的時候有一段宏看不懂,就寫了一個demo自己看了一下。
還是不大熟悉C語言的位操作。

這個宏挺有意思

注意 括弧的位置很重要
((const uint8_t*)(x)) 這相當於把x所在的內存當做一段uint8類型的指針,索引x的第0位,因為是小端機,低位存低位元組,所以[0]位存的是低位元組,[1]位存的是高位元組。
這樣想的話,這個宏其實很簡單了,就是把16位的無符號數,按照8位一個單位高低位互換

事實也證明如此,程序輸出如下

❻ c語言編程將16位無符號數的高8位和低8位交換.

取出高8位,然後右移8位,再取出低8位,然後左移8位,再把它們相加就可以了,代碼:

#include<stdio.h>
unsignedshortMyConvert(unsignedshortsval)
{
return((sval&0x00ff)<<8)+((sval&0xff00)>>8);
}
intmain()
{
unsignedshortsval=0xabcd;
printf("%d,0x%X ",sval,sval);
sval=MyConvert(sval);
printf("%d,0x%X ",sval,sval);
return0;
}

測試截圖: