Main Content

dec2base

将十进制整数转换为其 n 进制表示形式

说明

示例

baseStr = dec2base(D,n) 返回十进制整数 Dn 进制表示形式。输出参数 baseStr 是一个字符数组,它使用数值字符和字母(当 n 大于 10 时)表示位数。例如,如果 n 为 12,则 dec2base 使用字符 9AB 表示数字 9、10 和 11,并将数字 12 表示为字符序列 10

如果 D 是数值向量、矩阵或多维数组,则 baseStr 是二维字符数组。baseStr 的每行表示 D 的一个元素。

示例

baseStr = dec2base(D,n,minDigits) 返回 Dn 进制表示,不少于 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"

输入参数

全部折叠

输入数组,指定为非负数数组。D 的每个元素的值必须介于 0 和 flintmax 返回的值之间。

  • 如果 D 是浮点数数组,并且 D 的任何元素都有小数部分,则 dec2base 会产生错误。例如,dec2base(10,8)10 转换为 '12',但 dec2base(10.5,8) 会产生错误。

  • 如果 D 是字符数组或逻辑数组,则 dec2baseD 的元素视为整数。但是,dec2base 将字符视为其 Unicode® 值,因此不建议将 D 指定为字符数组。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char

输出表示的基数,指定为 2 到 36 之间的整数。例如,如果 n 是 8,则输出表示以 8 为基数的数。

输出中的最小位数,指定为整数。

  • 如果 D 可以用少于 minDigits 位来表示,则 dec2base 会用前导零填充输出。

  • 如果 D 太大,必须用超过 minDigits 的位来表示,则 dec2base 将用所需位数返回输出。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出