Bits - Maple Programming Help

Home : Support : Online Help : Programming : Bits : Bits/Iff

Bits

 Iff
 compute bit-wise iff of the inputs

 Calling Sequence Iff(num1, num2) Iff(num1, num2, options)

Parameters

 num1 - an integer num2 - an integer options - optional arguments

Description

 • The Iff command computes the bit-wise logical if and only if of the inputs returning in terms of a number. All bits that are equal in both inputs will be set in the output.
 • Iff takes one optional argument, bits=number that specifies the number of bits to be considered in the input. All bits past the specified number are truncated.
 • Use with negative inputs requires that bits be set, either as an argument to Iff or globally via Settings. If both inputs are positive, no truncation need occur, so bits is computed as the largest most significant bit between the two inputs.

Examples

 > $\mathrm{with}\left(\mathrm{Bits}\right):$
 > $\mathrm{num1}≔\mathrm{Join}\left(\left[1,1,0,0,0,1,0,1,0,1,1,0,1,1,1\right]\right)$
 ${\mathrm{num1}}{:=}{30371}$ (1)
 > $\mathrm{num2}≔\mathrm{Join}\left(\left[0,1,1,0,0,1,0,0,1,0,0,0,1,0,1\right]\right)$
 ${\mathrm{num2}}{:=}{20774}$ (2)

The following number represents the Iff of num1,num2

 > $\mathrm{num3}≔\mathrm{Join}\left(\left[0,1,0,1,1,1,1,0,0,0,0,1,1,0,1\right]\right)$
 ${\mathrm{num3}}{:=}{22650}$ (3)

Compare:

 > $\mathrm{num3},\mathrm{Iff}\left(\mathrm{num1},\mathrm{num2}\right)$
 ${22650}{,}{22650}$ (4)

Negative inputs and outputs

 > $\mathrm{Settings}\left(\mathrm{defaultbits}=8,\mathrm{negativeout}=\mathrm{true}\right):$
 > $\mathrm{Iff}\left(-1,12\right)$
 ${12}$ (5)
 > $\mathrm{Iff}\left(5,-128\right)$
 ${122}$ (6)