Change language to:
English - Français - 日本語 - Русский

Please note that the recommended version of Scilab is 2024.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 >>

 Copyright (c) 2022-2023 (Dassault Systèmes)Copyright (c) 2017-2022 (ESI Group)Copyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Mon Feb 12 19:58:35 CET 2018