• 締切済み

<<<シフト

C++で<<<のような演算子はあったでしょうか? ありましたら使い方も教えてください。

みんなの回答

回答No.3

C言語の >> は、op1 >> op2 の形で、op1 が正の時には、理論右シフトになるということなので、usigned 型の変数に対しては、論理シフトとして使えるのではないかなと思います。 逆に、op1 が負の場合は、論理シフトになるか算術シフトになるか、「処理系依存」だそうです。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>C++で<<<のような演算子はあったでしょうか? ないです

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

<<< ? >>>じゃなくて? Java言語では>>>は論理右シフトの意味で使いますが、C/C++にはそういう演算子はないですね。 C/C++では符号なし整数型があるので、それに対する算術右シフトで代用すると思います。

関連するQ&A

  • 算術シフトについて

    10010010(2)を 左に二桁の算術シフト演算について いくらやってもテキストの解答と合いません(10100100) どうやったらでるのでしょうか? また左右の論理シフト演算、右算術シフト演算 の結果はそれぞれどうなるのでしょうか? また

  • シフト演算子について・・・意味がわかりません(T_T)

    左シフト演算子<<は最上位ビットの上位を削除して最下位に0を追加、 右シフト演算子>>は最下位ビットが削除されて、最上位ビットに最上位ビットと同じ値が補充される、 論理右シフト>>>は最下位ビット削除され、最上位に0が補充される。 と、ここまではわかりました・・・ ある問題で int n = -1>> 31; でnはいくつになるか?というのがあったんですが、 解説の意味がわかりません。 回答はー1です。 「>>演算子によるシフトでは符号ビットが拡張される」 意味がわかりません・・・(@_@) 「>>>演算子であったなら、符号ビットがゼロになるのでN=1となる」 え・・・???!!! ふごーびっと??? シフト演算子ですから、 「-1の31こ右にビットをシフトする」 んだな・・・と思ったところ、 まったくどう考えてよいのかわからず、 回答を見たところ、余計わからなくなりました。 だれかたすけてください(T_T)

    • ベストアンサー
    • Java
  • シフト演算を用いた変換

    シフト演算を用いて、データを変換したいのです。 例えば、「00 01 0B 0A」となっているデータを、「0A 0B 01 00」となるようにシフト演算を用いて、変換したいのです。 0Aで1byteとなっていて、1byteごとにデータを格納して入れ替えるなど、方法は考えてみたのですが、実際のプログラムがさっぱり思いつきません。 ヒントだけでもいいので、教えていただけると嬉しいです。 すみませんが、よろしくお願いします。

  • 算術シフトについて

    基本的なことで申し訳ないのですが、コンピューターのシフト演算命令において、算術右シフトでは、なぜ「符号ビット」と同じビットを空いたビットに補充することになるのでしょうか?

  • 論理シフトについて

    コンピュータの論理シフトについて質問があります。 シフトしてオーバーフローした場合は、コンピュータ内部においては演算結果が反映されているのでしょうか? 例えば、8ビット表記で (10100001)_2 =(161)_10 で左に一桁シフトしたとすると (01000010)_2 =(66)_10 という表記になると思うのですが、このようなシフトをすると値が小さくなってしまう という考え方をすればいいのでしょうか? 回答よろしくおねがいします。

  • シフト演算で質問です

    1バイトの 10010111を右に1シフトすると2^-1になるはずですが 151から75となり 2^-1になっていません。 なぜそうなるのでしょうか? これでは正確な演算を行うことができません。。。 よろしくお願いします! あと、論理シフトと算術シフトの使い分けもできれば教えていただきたいです!

  • php と C# の ビット演算

    PHPでビット演算をしていますが、 PHPでたとえば、 c = a >> b でビット演算した値と、 C#で演算した値と aの値を大きくした場合、 4000000000以上? は結果が違ってきます。 C#とPHPではビット演算のアルゴリズムが違うのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • 演算子の一つ(例えば∩)をもしどの元、部分集合同士に適用しても空集合になるような集合のことを、その演算子(∩)を含めた演算子(∩と∪など)を束演算として束をなしているといってしまっていいのでしょうか、 また もしそれでもよいのなら、その束は A∩(B∪C)=(A∩B)∪(A∩C)=Φ A∪(B∩C)=(A∪B)∩(A∪C)=A となるので分配束であるといってよいのでしょうか。 これはどうでもいいことなのですがそもそも∩のことを、上記のような集合で定義されている演算子といっていいのでしょうか。

  • 余りの演算子%について

    C言語の質問です。 -2%10  の演算に対して 8 を期待していたのですが、 演算結果は、 -2 でした。 -2 を 8 にする演算は、存在しないんでしょうか?

  • 論理演算子の変数等を結ぶ個数について質問

    int a=1,b=0,c=0のとき a==0 && (b==0 || c==0) a==0 && b==0 || c==0 の2つの論理式あったとします 質問:論理演算子は、必ず「左右2つの変数しかつなげない」のですか? 例えば、前者の論理演算子なら、&&は、a==0とb==0をつないでる。 後者の論理演算子なら、||はb==0 とc==0をつないでる。 質問2:質問1の仮説が正しいとすると、前者も後者も論理演算子&&は、論理演算子||とb==0を共有してますよね?

    • ベストアンサー
    • Java

専門家に質問してみよう