教えて!しごとの先生
教えて!しごとの先生
  • 回答終了

情報処理検定1級の問題です。 答えが00FFになる理由が分からないので、出来るだけ詳しく教えていただけると嬉しいです。

情報処理検定1級の問題です。 答えが00FFになる理由が分からないので、出来るだけ詳しく教えていただけると嬉しいです。

10閲覧

回答(1件)

  • これはビットマスク処理と呼ばれるものです。 例えば、Unicode文字(主に1文字16ビット)をC言語のchar型(8ビット)に代入したい時なんかに使えます。 ひらがなの「あ」(U+3042)がUTF-16でエンコードされている時に、char型変数2つに8ビットずつ格納したければ、次のようにします。 (1): 「あ」を表す0x3042を2進法で表す _( 3)( 0) ( 4)( 2) →00110000 01000010 (2): 下位8ビット(0x42)だけ取り出したいので、(1)と☆の値のANDを取る 00110000 01000010♡ 00000000 11111111☆ AND------------------------ 00000000 01000010 (☆側のビットが0なら♡側のビットが何であってもANDの結果は0、 ☆側のビットが1ならANDの結果は♡側のビットと同じになる) (3): ☆の値を16進法で表すと… 00000000 11111111 ( 0)( 0) ( F)( F) ∴マスク値は00FF (4): 今度は上位8ビットを取り出したいので、0x3042を右に8ビットシフトする(0x42部分は(2)で取り出したので捨ててよい) ( 3)( 0) ( 4)( 2) 00110000 01000010 ↓ ( 0)( 0) ( 3)( 0) 00000000 00110000 (5): (2)と同じ 00000000 00110000 00000000 11111111☆ AND------------------------ 00000000 00110000 本問では☆を聞かれているので、00FFが正解です。

    続きを読む

< 質問に関する求人 >

情報処理検定(東京都)

この条件の求人をもっと見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

    カテゴリ: 資格

    転職エージェント求人数ランキング

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる