• ベストアンサー

ビット演算子

掲題の件ですが、 ネットを調べていて他の言語のビット演算子は見つけることができたのですが、Visual Basicでのビット演算子が見つかりませんでした。 ビットシフトだと A >> 2 A << 2 などとかかれていたのですが、これは使えるのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

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

#4>>>や<<などのビットシフトの記号はVBの中でも使えるのでしょうか? すでに回答はでているように思いますが、 VB6以前では、ビットシフト演算子は、なかったように思います。 基本的に算術シフトは、2^n倍、1/2^n倍で置き換えできると思います。

その他の回答 (4)

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

VB.NET だと使えます、 #1で書かれているように結果を代入するようにしないと意味がないです。

yoshi004
質問者

補足

ありがとうございます。 結果の代入を書くのを忘れてしまいましたが、 >>や<<などのビットシフトの記号はVBの中でも使えるのでしょうか? 今日試してみます。

回答No.3

「ビットシフト」 でググったら、すぐにこんなのが見つかりましたが。。。 http://www.geocities.co.jp/SiliconValley/4334/unibon/asp/bitshift2.html

  • gatyan
  • ベストアンサー率41% (160/385)
回答No.2

マニュアルで調べて見ましたか? ExcelのVBAしか手元にありませんが、ビットシフトはできないようです。 演算子の概要のトッピックにもないし、?2<<1がエラーになります。 ※VBAもVisualBasicも基本的な言語仕様は同じだと思います。

  • likipon
  • ベストアンサー率38% (44/114)
回答No.1

ビット演算子 Visual BasicでGoogle検索かけたら出てきましたが・・・ AND, NOT, OR, XORの基本的なビット演算子があるようですから, 普通に利用できると思います. また, ビットシフトの場合は変数Aをシフトしたい場合 A = A >> 2 みたいな書き方でないとダメだと思います. A >>= 2 でもよいでしょう.

関連するQ&A

  • ビット演算で00000001と1の頭に0を付ける?

    https://www.grapecity.com/japan/powernews/column/clang/019/page02.htm ビット演算子 表1にCのビット演算子を掲げておきます。ビット演算とは言っても、扱う値はバイト単位などCの一般的な整数のデータ型です。ビット演算子は、それらの値をビット単位で計算します。 ビットシフト演算(<< >>)~2倍と1/2 例えばunsigned char型の1は、2進数では"00000001"という形のビット列(ビットパターン)になります。これを1桁左にずらす(シフトする)と"00000010"となります。ずらしてあふれた左端の0は消え、空いた右端には0が入ります。 "00000001"は10進数の「1」、"00000010"は10進数の「2」です。つまり、ビット列を左に1桁シフトすると値は2倍になるのです。 -----------------------------------------  以上ですが、C言語の、ビット演算の解説の抜粋です。ビット演算はまだ覚えたてですが、"00000001"整数1の頭にわざわざ、0を沢山 つける目的は何なのでしょうか!?  よろしくお願いします。

  • ビット演算子について

    JAVAを現在勉強中なのですが。 ビット演算子のところで悩んでいます。 「~」のビットごとの補数とはいったいどういうものでどういった時に使うのか、 「>>」と「>>>」のシフトの違いがなんなのかよくわかりません。 簡単でいいので教えていただければ嬉しいです。

    • ベストアンサー
    • Java
  • ビット演算について

    ビット演算ができないダメグラマーです。 10101010 C言語でバイト値の3ビット目の値が0の時は1に1の時は0(ビットを反転)にするにはどのように書くのでしょうか?

  • Excelでビット演算子?

    Excelでビット演算子の 左シフト演算をさせることは でるでしょうか? 0xff<<8 の演算をさせたいのですが 何か関数はあるでしょうか?

  • ビット演算を学びたい

    a &= 2; a |= 2; a ^= 2; a ~= 2; a <<=2; a >>=2; みたいな感じでビット演算が使われているソースを 良く見るのですが、いまいちビット演算で何をしているのかが 分かりません。 参考書などには文字通りビットをいじるような旨のことが書いてあります。 (こちらにも同じようなことが http://www9.plala.or.jp/sgwr-t/c/sec14.html) こういうので何となくは分かるのですが、 実際にこれを何に使えるか、実践ではどのように使うのかが なかなか見えてきません。 このビット演算を私のような者でも実際のプログラムで使いこなせるように なれるようなサイトや書籍の提示、あるいはサンプルのプログラムなどで ご指導いただけたらと思います。

  • C言語のビット演算子について

    C言語のビット演算子に関する質問です。 ビット単位の演算とは、どのような場面で使用されているものなので しょうか? また、ビット単位の演算が行えることにどのようなメリットがあるの でしょうか? 基本的な質問で申し訳ございませんが、どなたかご回答頂けますか?

  • ビット演算を理解するための参考書を探してます

    ビット演算を理解するための参考書を探してます。 基本情報技術者の午後問題のC言語において、次のリンク先の問題のようにビットを使ったプログラム問題がさっぱり分かりません。 http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H10a2/pm07.html そこで、今までビット演算系の問題に触れていなかったためだと思い、 ビット演算のプログラムを扱った詳しい参考書を探しています。 基礎から上記URLの問題レベルまでの内容のものが特に良いです。 回答よろしくお願いします。

  • 剰余演算を論理演算と加減算に置き換える方法

    剰余(割算の余り)を求める演算を論理演算と加減算とビットシフトのみで行う方法がありましたら教えてください。 言語はC/C++ではなくても大丈夫です(ロジックだけでも)。

  • php と C# の ビット演算

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

    • ベストアンサー
    • PHP
  • ビット演算について

    いつもお世話になります。 ビット演算について教えて下さい。 unsigned char buf1[1]=0x5a unsigned char buf1[2]=0x04 unsigned char buf1[3]=0x38 5a0438(16)を3バイトの値を12ビットずつの整数で得るにはどうしたらいいのでしょうか? 2進数表記では、 5A | 04 | 38 01011010 | 00000100 | 00111000 12ビットずつとは、 010110100000 010000111000 と区分し、10進数の整数値で得たいです。どのようにすればよいでしょうか? また、0x5Aなどの16進数を2進数のビットで考えるときに、 01011010を下位4ビットを10進数整数を得るにはどうしたらよいのでしょうか? 上記2点、どうぞよろしくお願い致します。