-2

0 と 1 で表されるビットを使用しています。このビット リスト [[1...16]、[17...32]、[33...48]] があり、8 ごとに対応させたいと考えています。 char をビット化し、関数 chr で最後にすべてを結合するか、同じことを行う他の関数を使用します。[Bit]->Int を変換する関数があると仮定します。例えば

  [[1...16],[17...32],[33...48]]
  [1...8] = char one
  [9...16] = char two
  [17...24] = char three
  [25...32] = char four

  Then I want to make a String = char one ++ char two ++ char three ++ char four.

ありがとう。

4

1 に答える 1

1

関数 があると仮定するとfromBits :: [Bit] -> Int、最初に入力リストを 8 つのチャンクに分割します。たとえば、分割パッケージchunksOfから使用してから、各チャンクに適用して を使用して結果をに変換します。fromBitschrIntChar

map (chr . fromBits) $ chunksOf 8 input
于 2012-12-06T18:55:50.753 に答える