char str[2] = { 0x04, 0xD2 }; // => int result = 1234 ------------------------------ >8 ------------------------------
[3] 環境 [3.1] OS: Linux / Windows [3.2] コンパイラ名とバージョン: gcc (4.x) / Microsoft Visual Studio [3.3] 言語: C (or C++) [4] 期限:無期限 [5] その他の制限: Linux / Windows ... 処理系依存なしでお願いします。
--
ビット演算を駆使して実装することはできましたが よりスマートな解法があるんじゃないかと思い質問しました。 たとえば str[2] = { 0x06, 0x00 }; であれば int result = *(unsigned short *)str; で、求めることができます。(リトルエンディアン環境のみ) このような感じで、スマートでかつ処理系に依存しない方法はありますか? よろしくお願いします。