C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

VBでのビット演算


(過去ログ 3 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■2595 / inTopicNo.1)  VBでのビット演算
  
□投稿者/ サンポス 二等兵(1回)-(2006/02/19(Sun) 20:47:37)

分類:[VB.NET] 


分類:[VB.NET] 

vb.net初心者です。
質問させていただきます。

以下の様な処理を行いたいです。
「バイナリファイルからビット単位でデータを読み込む。1回に読み込むビット数は1〜100まで変化します。」

vb.netではC言語のような簡単なbitシフトはできないし、
また、vb.netでbitごとにデータを読み込むことはできない(最小で1byte単位)為、
多少面倒なことになると思っています。
何かスマートな方法があったら教えてください。

自分が考えているのは、例えば3bitデータを読み込むとして、以下のように実現しようと思っています。

・ファイルから適当なサイズのバイト数文のデータを読み込みバッファに記憶する。
・読み込んだデータの先頭3bitの値を計算し(除算を行う)、byteデータとして変数として記憶する。
・バッファの値を3bit左シフトした形で書き換える。

0
引用返信 編集キー/
■2598 / inTopicNo.2)  Re[1]: VBでのビット演算
□投稿者/ 中博俊 神(338回)-(2006/02/20(Mon) 01:47:29)
中博俊 さんの Web サイト

分類:[VB.NET] 

読み込むビット数はファイルから直接操作は無理でしょうね。
んで、ビット演算は & かなんかでできたんじゃなかったでしたっけ?<=いいかげん(^^;;;

0
引用返信 編集キー/
■2599 / inTopicNo.3)  Re[2]: VBでのビット演算
□投稿者/ Hongliang 二等兵(6回)-(2006/02/20(Mon) 05:48:42)
Hongliang さんの Web サイト

分類:[VB.NET] 

VB.NET2003からはビットシフト演算子が使えるようになってます。

わざわざバッファの値を置き換えるよりも、何ビット目まで既に読んだかのパラメータを持たせた方がスマートでしょう。

0
引用返信 編集キー/
■2603 / inTopicNo.4)  Re[1]: VBでのビット演算
□投稿者/ GOD 二等兵(1回)-(2006/02/20(Mon) 11:17:44)

分類:[VB.NET] 

No2595に返信(サンポスさんの記事)
>vb.netではC言語のような簡単なbitシフトはできないし
>
シフトできないなら乗算、除算で計算してください。
左シフト・・・乗算
右シフト・・・除算
2^シフトしたいbit数。(除算時、型によっては符号がある場合があるので上位をマスクする必要があるかも。)

0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -