CONVERT_BASE Function
Converts a base-10 integer to an arbitrary base representation.
Usage
arr = convert_base(values, newBase [,oldBase])
Input Parameters
values—A vector of positive integers to convert. If optional parameter oldBase is provided, then values should be an m × n string array representing m numbers using n bits corresponding to an oldBase representation. The ordering should be Big-Endian.
newBase—A scalar integer defining the base representation to convert values to. Must be ≥ 2 and ≤ 36 (i.e., numbers must be representable using the ordered set [0, 1, ..., 9, a, b, ..., z]
oldBase—(Optional) The current base representation of values. If not provided, assumed to be base 10.
Returned Value
arr—A 2D string array defining the newBase representation of values in Big-Endian format (the least significant bit on the right), where arr(i,*) is the newBase representation of values(i).
Keywords
Base10—(Output) A vector of integers is returned containing the base 10 representation of values.
Example 1
This example converts base-10 numbers to base 12.
x = CONVERT_BASE([2, 8, 13, 2000], 12) INFO, x && PM, x ; PV-WAVE prints the following: ; X STRING = Array(4, 4) ; 0 0 0 2 ; 0 0 0 8 ; 0 0 1 1 ; 1 1 a 8 PM, 1*12^3 + 1*12^2 + 10*12^1 + 8*12^0 ; PV-WAVE prints: 2000
Example 2
Convert base 12 numbers to base 2, and also get base 10 representation.
y = CONVERT_BASE(x, 2, 12, Base10=b10) PM, y ; PV-WAVE prints the following: ; 0 0 0 0 0 0 0 0 0 1 0 ; 0 0 0 0 0 0 0 1 0 0 0 ; 0 0 0 0 0 0 0 1 1 0 1 ; 1 1 1 1 1 0 1 0 0 0 0 PRINT, 2^4 + 2^6 + 2^7 + 2^8 + 2^9 + 2^10 ; PV-WAVE prints: 2000 PRINT, b10 ; PV-WAVE prints: 2 8 13 2000