Re: [問題] 關於big endian轉little endian的問題

看板C_and_CPP (C/C++)作者 (mecs)時間16年前 (2009/11/13 11:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《arluba (...)》之銘言: : 我想請問一個 signed short (16bit) big endian 轉 little endian的問題 : 我想知道在做signed short 轉換時 : 跟unsigned short比較起來 有什麼不一樣或是需要注意的地方嗎? : 以下附上unsigned short endian轉換的方式~ : 假設i是unsigned short的data : i = ((i>>8)&0xff)+((i << 8)&0xff00); : 現在的問題是如果i是signed short,那轉換上會有什麼不一樣嗎? : 感謝各位前輩的熱心回答~ 以 C99 的角度來看,如果是 signed short,有可能發生未定義行為。 看 operands 的值來決定,是 right shift 或 left shift 也會 有影響。 詳見 C99 - 6.5.7 Bitwise shift operators -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 174.48.126.243
文章代碼(AID): #1A_D7B9g (C_and_CPP)
文章代碼(AID): #1A_D7B9g (C_and_CPP)