【初心者歓迎】C/C++室 Ver.48【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.48【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト692:デフォルトの名無しさん 08/02/15 01:55:49 解決したと思ったら、もう一個質問ができました。すいませんが、こちらもお願いします。 読み込んできたデータを次の関数で共用体に格納して、bit単位でいじってるんですが、どうも上手くとれません。 いろいろ省略していますが、以下のような感じです。 テストデータ(バイナリ) 11111111 11111111 11111111 共用体 union UNION{ unsinged char data[3]; struct { unsinged short element1 : 8; unsinged short element2 : 3; unsinged short element3 : 5; unsinged short element4 : 1; unsinged short element5 : 7; }FILED; } 処理 UNION A; read (fd , A.data , 3): printf("%d\n" , A.FILED.elemnt1); ←255が出力される printf("%d\n" , A.FILED.elemnt2); ←7が出力される printf("%d\n" , A.FILED.elemnt3); ←31が出力される printf("%d\n" , A.FILED.elemnt4); ←何故か0が出力される printf("%d\n" , A.FILED.elemnt5); ←127が表示される 4番目の要素が1と表示されるません。 これはなんででしょう? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch