Convert text representation of base-
integer to double value
baseStr represents an integer greater than or equal to
base2dec might not represent it
exactly as a floating-point value.
Convert Text Representing Base-12 Value
Convert a character vector that represents a base-12 value to a decimal number.
baseStr = '1B'; D = base2dec(baseStr,12)
D = 23
Return Numeric Array
Create a string array that represents multiple octal, or base-8, values.
baseStr = ["1777" "172" "16"]
baseStr = 1x3 string "1777" "172" "16"
Convert the octal values and return a numeric array.
D = base2dec(baseStr,8)
D = 1×3 1023 122 14
baseStr — Text representing base-
character array | cell array of character vectors | string array
Text representing base-
n numbers, specified
as a character array, cell array of character vectors, or string array.
baseStr represents base-
digits using numeric characters and, when
greater than 10, letters. For example, if
baseStr represents the numbers 9, 10, and 11 using the
represents the number 12 as the character sequence
10. Letters can be
either uppercase or lowercase.
baseStris a character array with multiple rows or a cell array of character vectors, then the output is a numeric column vector.
baseStris a string array, then the output is a numeric array that has the same dimensions.
baseStr cannot represent a negative number.
n — Base of input representation
integer between 2 and 36
Base of input representation, specified as an integer between 2 and 36. For example,
n is 8, then
baseStr represents base-8
Run code in the background using MATLAB®
backgroundPool or accelerate code with Parallel Computing Toolbox™
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Version HistoryIntroduced before R2006a
R2020b: Issue warning when input values are greater than or equal to
Behavior changed in R2020b
base2dec function issues a warning when input values are greater than or equal to
flintmax. In previous releases,
base2dec did not issue this warning.
base2dec now issues a warning because inputs representing
integers greater than or equal to
flintmax might not be represented
exactly as double-precision floating-point values.
To convert values greater than
flintmax exactly, consider one of
In place of scalar text inputs, use hexadecimal or binary literals representing the same values. When you write a value as a literal, MATLAB® stores it as an integer that represents the value exactly. For more information, see Hexadecimal and Binary Values.
To convert hexadecimal inputs greater than
flintmax, you can use the
sscanffunction with the
%lxoperator. When you use
%lx, the converted values are integers that have the
uint64data type. These integers have enough storage to represent values greater than