Please note that the recommended version of Scilab is 2023.1.0. This page might be outdated.

See the recommended documentation of this function

# bitcmp

bitwise complement

### Syntax

y = bitcmp(x) y = bitcmp(x, bitnum)

### Parameters

- x :
a

`m`

-by-`n`

matrix of doubles or a`m1`

-by-`m2`

-by-...-by-`mm`

hypermatrix of doubles or a`m`

-by-`n`

matrix of unsigned integers (`uint8`

,`uint16`

or`uint32`

). Must contain positive integer values.- bitnum :
a

`m`

-by-`n`

matrix of doubles or a`m1`

-by-`m2`

-by-...-by-`mm`

hypermatrix of doubles or a`m`

-by-`n`

matrix of unsigned integers (`uint8`

,`uint16`

or`uint32`

). The input`n`

must be in the range 1, 2, ...,`bitmax`

where`bitmax`

is the maximum number of bits in`x`

.`bitnum`

must contain positive integer values. The default value for`bitnum`

is`bitmax`

.- y :
a

`m`

-by-`n`

matrix of doubles or a`m1`

-by-`m2`

-by-...-by-`mm`

hypermatrix of doubles or a`m`

-by-`n`

matrix of unsigned integers.

### Description

Given an unsigned integer `x`

, this function returns the unsigned integer `y`

which is the integer corresponding to the complementary of the binary
form of `x`

.

The integer `bitnum`

sets the maximum number of bits.

If the bits number of the `x`

binary representation is less than the
`bitmax`

number (8,16 or 32) then the bits `'1'`

are added to the
complementary in order to have `bitmax`

number (8, 16 or 32) for the
complementary.

If only one input argument is given, `x`

must be a matrix of unsigned integers.

### Examples

// 13 is (1101)_2 // We insert zeros in the beginning to get a 8-bit number: // (00001101)_2 // The 8-bits complement is then (11110010)_2 // which is 242 bitcmp(13,8) expected = 242 // The input argument can be an unsigned int bitcmp(uint8(99),8) expected = 156

Report an issue | ||

<< bitand | Bitwise operations | bitget >> |