Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - 日本語

Change language to:
English - Français - Português

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Scilab manual >> xcos > palettes > Integer palette > SHIFT


Shift Bits

Block Screenshot


This block shifts the bits of the input signal. In this operation the digits are moved to the right or to the left. The user can choose the rule to shifts the bits. It can be normal or cycle by setting the "Shifttype" parameter to "0" or "1".

When the Shifttype is 0, an arithmetic shift is applied to the input signal. In this case, the bits that are shifted out of either end are discarded. Zeros are shifted in on the right, in the case of left shift; in the case of right shifts, copies of the sign bit is shifted in on the left.

When the "Shifttype" is 1,a circular shift is applied to the input signal. In this case, the bits are rotated as if the left and right ends of the register are joined. The value that is shifted in on the right during a left-shift is whatever values was shifted out on the left, and vice versa.

Dialog box

  • Datatype (3=int32 4=int16 5=int8 ...)

    It indicates the type of the input/output data. It support all the integer datatype, number must be between 3 and 8.

    Properties : Type 'vec' of size 1.

  • Number of bits to shift left (use negative number to shift right)

    It indicates the number of bits the input signal is shifted. A positive value indicates a shift left, negative values indicates shift right.

    Properties : Type 'vec' of size 1.

  • Shifttype(0=Arithmetic 1=Circular)

    It indicate the rule used to shift the bits. It can be arithmetic or circular. When the Shifttype is normal, an arithmetic shift is applied to the input signal. In this case, the bits that are shifted.

    Properties : Type 'vec' of size 1.

Default properties

  • always active: no

  • direct-feedthrough: yes

  • zero-crossing: no

  • mode: no

  • regular inputs:

    - port 1 : size [-1,-2] / type 3

  • regular outputs:

    - port 1 : size [-1,-2] / type 3

  • number/sizes of activation inputs: 0

  • number/sizes of activation outputs: 0

  • continuous-time state: no

  • discrete-time state: no

  • object discrete-time state: no

  • name of computational function: shift_32_LA

Interfacing function

  • SCI/modules/scicos_blocks/macros/IntegerOp/SHIFT.sci

Computational function

  • SCI/modules/scicos_blocks/src/c/shift_32_LA.c

  • SCI/modules/scicos_blocks/src/c/shift_32_LC.c

  • SCI/modules/scicos_blocks/src/c/shift_32_RA.c

  • SCI/modules/scicos_blocks/src/c/shift_u32_RA.c

  • SCI/modules/scicos_blocks/src/c/shift_32_RC.c

  • SCI/modules/scicos_blocks/src/c/shift_16_LA.c

  • SCI/modules/scicos_blocks/src/c/shift_16_LC.c

  • SCI/modules/scicos_blocks/src/c/shift_16_RA.c

  • SCI/modules/scicos_blocks/src/c/shift_u16_RA.c

  • SCI/modules/scicos_blocks/src/c/shift_16_RC.c

  • SCI/modules/scicos_blocks/src/c/shift_8_LA.c

  • SCI/modules/scicos_blocks/src/c/shift_8_LC.c

  • SCI/modules/scicos_blocks/src/c/shift_8_RA.c

  • SCI/modules/scicos_blocks/src/c/shift_u8_RA.c

  • SCI/modules/scicos_blocks/src/c/shift_8_RC.c



<< LOGIC Integer palette SRFLIPFLOP >>

Copyright (c) 2022-2024 (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:
Wed Jan 26 16:25:14 CET 2011