Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

bit2int

ビットから整数への変換

R2021b 以降

説明

Y = bit2int(X,n) は、最初のビットを最上位ビット (MSB) として、X 内の n 個の列方向ビット要素を整数値に変換します。

Y = bit2int(X,n,msbfirst) は、Xn 個の列方向ビットの各セットにおける最初のビットが MSB か最下位ビット (LSB) かを示します。

Y = bit2int(___,IsSigned=tf) は、オプションの名前と値のペア IsSigned=tf を指定します。tf の値は logical (true または false) で、整数の符号属性を示します。既定の設定は false です。tftrue に設定した場合、n ビットから成る各ブロックの最初のビットは符号付きビットとみなされ、出力に負の値が含まれる場合があります。X のデータ型がいずれかの符号なし整数型で、tftrue に設定した場合、Y のデータ型は、入力ビット数をサポートできる最小の符号付き整数型になります。

すべて折りたたむ

ビットから成る列ベクトルを指定します。

X = [1 0 1 0 1 0 1 0]';

入力ベクトルの 4 個の列方向ビット要素を整数値に変換するよう指定します。次に、ビットを整数に変換します。

n = 4;
Y = bit2int(X,n)
Y = 2×1

    10
    10

ビットから成る行列を指定します。

X = int8([1 1 0; 0 1 1]')
X = 3x2 int8 matrix

   1   0
   1   1
   0   1

3 個の列方向ビット要素の各セットにおける最初のビットが LSB であることを指定します。次に、ビットを整数に変換します。

n = 3;
msbfirst = false;
Y = bit2int(X,n,msbfirst)
Y = 1x2 int8 row vector

   3   6

ビットから成る配列を指定します。

X = randi([0,1],8,2,2,'uint8') 
X = 8x2x2 uint8 array
X(:,:,1) =

   1   1
   1   1
   0   0
   1   1
   1   1
   0   0
   0   1
   1   0


X(:,:,2) =

   0   1
   1   1
   1   1
   1   0
   1   1
   0   0
   1   1
   1   0

4 個の列方向ビット要素の各セットにおける最初のビットが MSB であることを指定します。次に、ビットを整数に変換します。

n = 4;
msbfirst = true;
Y = bit2int(X,n,msbfirst)
Y = 2x2x2 uint8 array
Y(:,:,1) =

   13   13
    9   10


Y(:,:,2) =

    7   14
   11   10

ビットから成る配列を指定します。

X = [1 1 0 1 1 0 0 1; 1 0 1 1 0 0 1 0]'
X = 8×2

     1     1
     1     0
     0     1
     1     1
     1     0
     0     0
     0     1
     1     0

4 個の列方向ビット要素の各セットにおける最初のビットが符号ビットであることを指定します。次に、ビットを整数に変換します。

n = 4;
tf = true;
Y = bit2int(X,n,IsSigned=tf)
Y = 2×2

    -3    -5
    -7     2

4 個の列方向ビット要素の各セットにおける最初のビットが符号ビットでないことを指定し、同じビット配列を変換します。

tf = false;
Y = bit2int(X,n,IsSigned=tf)
Y = 2×2

    13    11
     9     2

入力引数

すべて折りたたむ

ビット。数値または logical の 01 から成る列ベクトル、行列、または 3 次元配列として指定します。

例: [1 0 1 0 1 0 1 0]' は、8 行 1 列のサイズの入力列ベクトルを指定します。

メモ

X の行数は、入力 n の倍数でなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

整数に変換するビット数。正の整数として指定します。ビット数 n には符号付きビットが含まれます。

データ型: double

最初が MSB であることの指定。数値または logical 1 (true) または 0 (false) として指定します。

  • true –– X 内の n 個の列方向ビットの各セットについて、最初のビットが MSB になります。

  • false –– X 内の n 個の列方向ビットの各セットについて、最初のビットが LSB になります。

データ型: logical

出力引数

すべて折りたたむ

入力ビットの整数表現。スカラー、列ベクトル、行列、または 3 次元配列として返されます。この関数は、X 内の n 個の列方向ビットの各セットについて、整数に換算した値を返します。出力 Y の次元は入力 X と同じになりますが、Y の行数は X の行数の n 分の 1 になります。

Y のデータ型は、X のデータ型によって異なります。

  • X のデータ型が double または logical の場合、Y のデータ型は double になる。

  • X のデータ型が single の場合、Y のデータ型は single になる。

  • X が整数データ型の場合、Y の符号属性は入力 IsSigned によって決まる。

    • Y の値を同じ整数データ型に格納できる場合、Y のデータ型は X と同じになる。

    • Y の値を X と同じ整数データ型に格納できない場合、この関数は Y のデータ型をその値を格納するのに十分な大きさの整数データ型に設定する。

拡張機能

バージョン履歴

R2021b で導入

すべて展開する

参考

関数

ブロック