• ベストアンサー

[VBS] 素早くローテート演算したい

Tacosanの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

VBS は使っていないのですが, 「配列」って存在しないんですか? それ以前に「シフトJISの1バイトコード(16進数)を一度、10進数に直してさらにそこから2進数へ変換した後にローテートを行い、また10進数に直して」がどういう操作なのか (そしてどうしてそんな操作をしているのか) さっぱり分からないんだけど.

wansui
質問者

補足

ビット演算について理解した上で回答して下さい。 いちいちアホな回答すんな、、、。

関連するQ&A

  • JISコードをシフトJISコードに変換する方法

    紙とえんぴつを使ってJISコードをシフトJISコードに変換する方法を教えてください。 たしか16進数の変換などを使って出来ると聞いたことがあります。 一文字の漢字だけで良いんです。 例えば『高』という漢字のJISコード「3962」をシフトJISコード「8D62」に変換したいというわけです。 2進数や16進数の計算の知識だけはあります。よろしくお願いします。

  • シフト演算を用いた変換

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

  • UTF-8で5~6バイトになる文字コード

    UnicodeのUTF-8で5~6バイトになる文字コードは、どのような場合でしょうか。(サロゲートペアのコードでも4バイトです。シフトJISから変換するとき、どのようなコードが5~6バイトに割り当てられるのでしょうか。) ご存知の方おられましたら、ご教示ください。

  • ビット演算で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を沢山 つける目的は何なのでしょうか!?  よろしくお願いします。

  • マイクロコンピュータ 乗算演算について

    マイクロコンピュータで、8ビット演算回路の乗算演算を行ったのですが、その際、乗数の0、1パターンに応じて被乗数を左シフトさせ加算していくロジックで演算をするというアルゴリズムを組み立てて実行しました。 乗算演算をより高速化させるには、この他にどのような手段が考えられるのか教えていただけないでしょうか? お願いいたします。

  • ビット演算子について

    あるプログラムの中で下記のようなif文の記述を見かけました。 どういう計算をしてif文の判定を行っているのでしょうか。 (1)256を2進数に変換して → 100000000 (2)0x00000004を2進数に変換して → 100 (3)100000000 & 100 のビットAND演算を行う そもそも(3)で100000000 と 100 では桁数が違うけどどうやって両者でビット演算するので しょうか。100を 000000100というように0を補完して計算すればよいのでしょうか。 その場合、100000000 & 000000100 → 000000000(2進数) → 0(10進数) となりif文の中には入らないことになると思います。 if(256 & 0x00000004 != 0)

  • [VBS] 16進数でバイナリファイル出力したい

    すいません、教えて下さい。 VBSを利用して16進数にてバイナリファイルを生成したいです。 例えばSJIS文字コードの文字列"あ"の場合だと16進数では"82A0"です。 その"82A0"を指定してバイナリファイル出力を行いたいです。 自分で色々と試しましたが、何故か出力ファイルの結果がバイナリで"81 45 A0"となってしまい 結果的に"あ"が表示されません、、、。 目的としてはVBSでビット演算子の論理和による暗号化を行いたいです。 申し訳ありませんが、ご教示頂ければ幸いです。

  • 逆ポーランド記法における単項演算子などの処理

    開いていただきありがとうございます。 質問内容は題名の通りなのですが、 中置記法の式を逆ポーランド記法に変換して計算を行う際に単項演算子をどのように扱うかで悩んでいます。+-などのように文脈に応じて意味合いが変化するものもあり、もうひとつスマートに処理することができません。 また前置・後置インクリメントなどに対応するとしたらなおざりに処理するわけにもいきませんし、三項演算子に至ってはどのように処理すればいいのかさっぱりです。 電卓に留まらず、簡単な処理系に組み込むという前提で、これらをどのように使えばよいかご教示いただければと存じます。

  • vbs xlsをcsvに変換

    vbsでxlsファイルをcsvファイルに変換することは可能でしょうか。 手動で拡張子をcsvにすると、カンマ区切りではないため 一列目にすべての値がスペース区切りで出力されてしまいます。 vbsで実行可能でしたらコードのご教示頂けますでしょうか。

  • 2進数データのビット演算

    vb.netにて 0と1からなる2進数で記録した2つの値をビット演算したいと思っております。 Convert.ToInt32("1111101000", 2) などを使って、一度数値に変換して演算すれば、計算可能なことはわかったのですが、計算に利用したいデータが2進数で1000桁ほどあります。桁数が多い場合、Convert.ToInt32ではエラーが出て実行できません。 無数に長い2進数のデータをビット演算するにはどうすればよろしいでしょうか。 ご存知の方、ご教授よろしくお願いいたします。