##
log2

log2 —
Returns a base 2 log.

## Description

Returns the base 2 log of *x* (*x* positive only).

The argument value is restricted for *log*,
*log2*, and *sqrt*.

## Syntax

**log2**(x) (no rate
restriction)

**log2**(k/i[]) (k- or i-arrays )

where the argument within the parentheses may be an expression. Value converters perform arithmetic translation from units of one kind to units of another. The result can then be a term in a further expression.

## Examples

Here is an example of the log2 opcode. It uses the file *log2.csd*.

**Example 492. Example of the log2 opcode.**

See the sections *Real-time Audio* and *Command Line Flags* for more information on using command line flags.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out Audio in
-odac -iadc ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o log10.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
i1 = log2(8)
print i1
endin
</CsInstruments>
<CsScore>
; Play Instrument #1 for one second.
i 1 0 1
e
</CsScore>
</CsoundSynthesizer>

Its output should include a line like this:

instr 1: i1 = 3.000

## Credits

Written by John ffitch.

New in version 5.17.12