看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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