2016-09-22 2 views
-3

C++でのコーディング。1から始まるカウントビット、その後十数など

文字列の形でバイナリコードから指定された桁のみを出力しようとしています。ユーザーは特定の桁位置を指定することができ、その桁の数字を印刷する必要があります。

例:文字列c = "11011001"であり、ユーザは第1位を望む。出力は0でなければなりません。

カウントインデックスは0から始まり、1の位の要求が '10'の桁位置の数字であることを意味する '1'桁から始まります。

私は1列から数える方法を知らない。私はc.at()を試しましたが、それは左端の数字から始まり、右に向かってカウントします。

+2

は自分自身に簡単な質問をします。文字列に 'N'文字があり、文字列の最後から' I'番目の文字が必要な場合は、文字列の先頭からその文字のインデックスを計算する数式は何ですか? –

+0

STL-wise、あなたは['std :: bitset'](http://en.cppreference.com/w/cpp/utility/bitset)について聞いたことがありますか?それが有用かどうかを確認してください。そして、あなた自身[良いC + +のテキスト]を取得してください(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – WhiZTiM

答えて

1

あなたはこれを行うことができます。

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string str ("11011001"); 
    int postion = 1; 
    std::cout << str[str.length()-position]; 

} 
関連する問題