as3 二进制、八进制、十进制、十六进制之间的相互转换

var a:int=1234;//十进制


trace("十进制转二进制",a.toString(2));//二进制
trace("十进制转八进制",a.toString(8));//八进制
trace("十进制转十六进制",a.toString(16));//十六进制

var b:String="10011010010";//二进制
var b1:String="2322";//八进制
var b2:String="4d2";//十六进制
b2="902B34923F2B"
trace("二进制转十进制",parseInt(b,2));
trace("八进制转十进制",parseInt(b1,8));
trace("十六进制转十进制",parseInt(b2,16));

//trace(0x902B34923F2B);//输出的竟然是转换后的十进制的数字

//90-2B-34-92-3F-2B

//var num:int=902B34923F2B
//trace(num.toString(10));

//var str:String="90-2B-34-92-3F-2B";
var str:String="94-DE-80-72-8D-FC";
//trace(str.replace("-",""));//只能转换第一个 "-"

//trace(str.split("-"));
var arr:Array=str.split("-");//先将str转换为数组,然后再拼回字符串
str=arr.join("");//将数组中的值拼回成字符串,这样就把"-"给去掉了
trace(parseInt(str,16));
var tempStr:String=parseInt(str,16)+"";//将str转换成十进制
trace(tempStr);
var tempArr:Array=(tempStr).split("");//转换成数组,便于翻转
trace(tempArr);
tempArr.reverse();//翻转数组
trace(tempArr);
//trace(str.split(""));
tempStr=tempArr.join("");//拼接成字符串
trace(tempStr);

/*var tempNum:int=int(tempStr);
trace(tempNum.toString(16));
trace(tempNum);*/
//本来想再把颠倒后的数字转换成十六进制,但是有问题,感觉像是超出了计算机的最大数值,所以还是算了

猜你喜欢

转载自www.cnblogs.com/lingLuoChengMi/p/9389775.html