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

2021-12-16 15:11:29 字數 1570 閱讀 1706

1樓:匿名使用者

1、有除法,效率最低。rol指令,這個效率最高。 位操作效率比除法高, 效率比1高.。

2、例程:

#include

#define mask  0x00ff

void main()

2樓:延姝麗淡勝

2個位元組short

int高低位轉化:

short

inty=0x7f21;y=

((y&0xff00)

>>8)|

((y&0x00ff

)<<8);printf("%#x",y);

-------------------------------也可以利用

union

unionb2;

union

b2x;

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位元組

大端小端碼的轉換操作。

3樓:

不太明白你的意思。

就是那兩個位元組的高位分別和低位調換嗎?!

4樓:龍嘯天風

迴圈移動嗎?還是整個翻個?

請問c語言中怎麼把兩個單位元組賦給乙個雙位元組的高低8位? 5

5樓:匿名使用者

最直接的辦法 在c語言中潛入彙編語句,彙編指令很方便就能實現!你可以查一下指令的使用辦法!

6樓:匿名使用者

用移位操作來實現。

int newvalue;

char value1, value2;

newvalue = (value1<<8) | value2;

這樣的話,value1的值在高8位,value2的值在低8位

乙個位元組高低位互換,c語言怎麼寫??是51微控制器用。。。 50

7樓:仰詩苼

題目很簡單,但考察的是面試者的程式設計習慣和態度。今天閒來無事,多說幾句。題目理解為高半位元組和低半位元組互換:

最好用巨集定義 #define chg_byte(bdata) (((bdata)4)) 注意,1、這種底層操作一般用巨集可以增強程式的效率,避免不必要的函式呼叫開...3167

8樓:匿名使用者

tc裡面,無符型 unsigned int a=1000,b=10000;//都是16位的, 然後 unsigned long x=0; 則x=a*b;

9樓:但慈鄢懷

你每讀完乙個位元組有沒有給

24c256傳送ack呢

寫時,是24c256給51回應ack,讀時,每讀乙個位元組,51都要給24c256回應乙個ack

用c語言實現檔案拷貝,用C語言實現檔案拷貝

include int main int argc,char argv argc表示命令引數個數,argv表示引數名稱 fpdest fopen argv 2 wb 以寫入二進位制的方式開啟目標檔案 if fpdest null while c fgetc fpsrc eof fclose fpsr...

c語言實驗題 某年某月的天數,C語言實驗題 某年某月的天數

2月的值錯了吧 if day 29 判斷錯了 應該是 判斷閏年的條件 能被4整除但不能被100整除,或者能被400整除 day 29 閏年的概念是4的倍數且不是100的倍數 或者400的倍數.你的概念錯了.else day 28 閏年的二月是29天...

C語言實現表示式求值請高手幫忙改下高分懸賞

我承認我很懶,所以極其佩服把你 看完的人,別人看注釋可以忙你更快解決問題 我知道你說的程式 是資料結構裡的 表示式求值這個得調一會 我把當時我編的給你看吧 include include using namespace std char p 7 7 stackopdn stackoptr queue...