Main Content

bit2int

ビットから整数への変換

説明

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

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

すべて折りたたむ

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

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

入力引数

すべて折りたたむ

ビット。数値または 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

整数に変換するビット数。正の整数として指定します。

データ型: 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 の値を同じ整数データ型に格納できる場合、Y のデータ型と符号属性は X と同じになる。Y の値を X と同じ整数データ型に格納できない場合、この関数は Y のデータ型をその値を格納するのに十分な大きさの整数データ型に設定する。

拡張機能

バージョン履歴

R2021b で導入

参考

関数

ブロック