一.常见进制表示
dec=10;//普通的十进制
oct=010;//0表示八进制
hex=0xA5;//0x表示十六进制
二.自定义进制表示法
语法:num=radix_number
。数字包含下划线,下划线前面是自定义进制([2,36]),下划线后面是数值。
a=2_010;//2进制数
b=8_010;//八进制数
c=36_Z7;//36进制数
三.在字符串中使用数值与进制
在字符串中使用\转义符+数值表示字符(字符串必须置于单引号内)
str = '六进制字符 \x2A'; // \x前缀表示一个十六进制字符
str2 = '八进制字符 \050'; // \0前缀表示一个八进制字符
str3 = '十进制字符 \65'; // \前缀表示一个十进制字符
四.格式化字符串函数中使用进制与数值
%b 二进制数
%x %X 大小写十六进制数
%o 八进制数
%d 十进制数
io.open(); //打开控制台窗口
io.print( string.format("%X",123) )
五.转换进制
将数值转换为字符串的tostring()函数,以及将字符串转换为数值的tonumber()函数,都可选使用第二个参数指定应用于转换的进制(2到36之间).
io.open()
var str = tostring(123,16) //转换为十六进制字符串
var num = tonumber(str,16) //将十六进制字符串转换为数值
io.print(
"二进制",tostring( 123,2) ,
"八进制",tostring( 123,8) ,
"十六进制",tostring( 123,16) ,
"十进制",tostring( 123 )
);