C/C++の宿題片付けます 159代目at TECH
C/C++の宿題片付けます 159代目 - 暇つぶし2ch336:デフォルトの名無しさん
12/08/02 20:45:06.93
[2] 問題文(含コード&リンク):
char 配列のバイナリから、int 型へ変換しなさい。
------------------------------ >8 ------------------------------
char str[2] = { 0x00, 0x06 };
// => int result = 6

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;
で、求めることができます。(リトルエンディアン環境のみ)
このような感じで、スマートでかつ処理系に依存しない方法はありますか?
よろしくお願いします。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch