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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■41212  Re[1]: CSVファイル書出の改行について
□投稿者/ もりお -(2009/09/15(Tue) 14:55:33)
    2009/09/15(Tue) 15:06:18 編集(投稿者)

    No41196 (C# さん) に返信
    > これはなぜでしょうか?解決方法がありますでしょうか?
    もしよろしければ、どのようなコードで、どのようなデータを
    出力されているのかお教えくださいな。
記事No.41196 のレス /過去ログ71より / 関連記事表示
削除チェック/

■99413  Re[9]: ビット演算の方法に関して
□投稿者/ furu -(2022/03/30(Wed) 18:51:50)
    No99411 (kiku さん) に返信
    > C#のソースですが、サンプル書いてみました。
    3バイトなのでIntegerにしてしまったほうが楽かも。
    普段使わないけどVB.NETで書いてみました。

    Dim input() As Byte = New Byte() {&H12, &H34, &H56}

    Dim x = input(0) * &H10000 + input(1) * &H100 + input(2)
    Dim a = (x And &H_00FF0000) >> 16
    Dim b = (x And &H_0000F000) >> 8
    Dim c = (x And &H_00000FF0) >> 4
    Dim d = (x And &H_0000000F) << 4

    Dim output前半() As Byte = New Byte() {a, b}
    Dim output後半() As Byte = New Byte() {c, d}
記事No.99397 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99417  Re[10]: ビット演算の方法に関して
□投稿者/ kiku -(2022/03/31(Thu) 12:36:54)
    No99413 (furu さん) に返信
    > ■No99411 (kiku さん) に返信
    >>C#のソースですが、サンプル書いてみました。
    > 3バイトなのでIntegerにしてしまったほうが楽かも。
    > 普段使わないけどVB.NETで書いてみました。

    furuさん、ナイス。
記事No.99397 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99419  Re[10]: ビット演算の方法に関して
□投稿者/ 魔界の仮面弁士 -(2022/03/31(Thu) 14:45:42)
    No99413 (furu さん) に返信
    > ■No99411 (kiku さん) に返信
    >> C#のソースですが、サンプル書いてみました。
    > 普段使わないけどVB.NETで書いてみました。

    3 バイトの配列を 12bit ごとに区切って、
    2 個の 2 バイト配列に分解する関数を作ってみました。


    Sub Main()
      Dim q = BitSplitter(&HAB, &HCD, &HEF)
      Console.WriteLine(BitConverter.ToString(q.Left))  'AB-C0
      Console.WriteLine(BitConverter.ToString(q.Right)) 'DE-F0
      Console.WriteLine()

      q = BitSplitter(&H12, &H34, &H56)
      Console.WriteLine(BitConverter.ToString(q.Left))  '12-30
      Console.WriteLine(BitConverter.ToString(q.Right)) '45-60
      Console.WriteLine()

      Dim bin3 As Byte() = {&H22, &H3, &H31}
      q = BitSplitter(bin3)
      Console.WriteLine(BitConverter.ToString(q.Left))  '22-00
      Console.WriteLine(BitConverter.ToString(q.Right)) '33-10
      Console.WriteLine()

      Console.ReadKey()
    End Sub


    Private Function BitSplitter(binary As Byte()) As (Left As Byte(), Right As Byte())
      Return BitSplitter(binary(0), binary(1), binary(2))
    End Function

    Private Function BitSplitter(a As Byte, b As Byte, c As Byte) As (Left As Byte(), Right As Byte())
      Return ({a, CByte(b And &HF0)}, {CByte((b << 4) Or (c >> 4)), c << 4})
    End Function
記事No.99397 のレス /過去ログ173より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -