目录
dec2base将十进制数转换为表示 N 进制数的字符数组。
语法
baseStr = dec2base(D,n)
输入数组,指定为非负数数组。D 的每个元素的值必须介于 0 和 flintmax返回的值之间。
-
如果 D 是浮点数数组,并且 D 的任何元素都有小数部分,则 dec2base会产生错误。例如,dec2base(10,8) 将10转换为 '12',但 dec2base(10.5,8) 会产生错误。
-
如果 D 是字符数组或逻辑数组,则dec2base将D的元素视为整数。但是,dec2base将字符视为其 Unicode® 值,因此不建议将 D 指定为字符数组。
n - 输出表示的基数
输出表示的基数,指定为2到36之间的整数。
baseStr = dec2base(D,n,minDigits)
minDigits - 输出中的最小位数
输出中的最小位数,指定为整数。
-
如果 D 可以用少于 minDigits 位来表示,则 dec2base 会用前导零填充输出。
-
如果 D 太大,必须用超过 minDigits 的位来表示,则 dec2base 将用所需位数返回输出。
说明
baseStr = dec2base(D,n) 返回数字 D 的 n 进制表示。输出参数 baseStr 是一个字符数组,它使用数值字符和字母(当 n 大于 10 时)表示位数。
例如,如果 n 为 12,则 dec2base 使用字符 '9'、'A' 和 'B' 表示数字 9、10 和 11,并将数字 12 表示为字符序列 '10'。如果 D 是数值向量、矩阵或多维数组,则 baseStr 是二维字符数组。baseStr 的每行表示 D 的一个元素。
baseStr = dec2base(D,n,minDigits) 返回 D 的 n 进制表示,不少于 minDigits 位数。
示例
转换十进制数
将十进制数转换为以十二进制表示的值的字符向量。在此进制系统中,10 进制数字 10 和 11 用字符 'A' 和 'B' 来表示。如下所示:
D = 23;
baseStr = dec2base(D,12)
baseStr =
'1B'
指定位数
指定 dec2base 返回的 12 进制的位数。如果指定的位数超过要求,则 dec2base 会用前导零填充输出。如下所示:
D = 23;
baseStr = dec2base(D,12,6)
baseStr =
'00001B'
如果指定的数字较少,则dec2base仍会返回表示输入数字所需的位数。如下所示:
baseStr = dec2base(D,12,1)
baseStr =
'1B'
将数值数组转换为八进制值
创建一个数值数组。如下所示:
D = [1023 122 14];
要将 D 的元素表示为八进制(即以 8 为基数)值,可以使用 dec2base 函数。baseStr 的每行对应于 D 的一个元素。如下所示:
baseStr = dec2base(D,8)
baseStr = 3x4 char array
'1777'
'0172'
'0016'
dec2base 函数返回用前导零填充的字符数组。从R2016b开始,推荐使用compose函数将数值数组转换为八进制表示。它返回一个字符串数组,其元素没有前导零。要将 D 的元素表示为八进制值,请使用 %o 格式化操作符。
hexStr = compose("%o",D)
hexStr = 1x3 string
"1777" "172" "16"