hex=new Array(2);
var hexstring="";
var shifthex=16;
var temp1=num;
for(x=1; x>=0; x--)
{
    hex[x]=Math.round(temp1/shifthex - 0.5);
    hex[x-1]=temp1 - hex[x] * shifthex;
    temp1=hex[x-1];//这个语句有什么作用?
    shifthex /= 16;//这个语句有什么作用?
}

解决方案 »

  1.   

    就是两个赋值语句啊!!!
    没有上下文,根本不知道是干什么用的。不过感觉代码hex[x-1]=temp1 - hex[x] * shifthex;有点问题
    hex下标可能取到-1
      

  2.   

    这个代码的意思是将一个10进制数(num)转换成16进制的数据,你可以试一下,将变量num替换为一个数字,然后输出转换结果。
      

  3.   

    在c++中,这两句话好像都没有什么用,因为前面两句话已经算出来了,不知道javascipt为啥要搞这两句话~
      

  4.   

    这个不怎么完整
    给你写出了注释,如下:hex=new Array(2); 
    var hexstring=""; 
    var shifthex=16; 
    var temp1=num; 
    for(x=1; x>=0; x--) 

        hex[x]=Math.round(temp1/shifthex - 0.5); //算出高位
        hex[x-1]=temp1 - hex[x] * shifthex; //算出除高级以外余数
        temp1=hex[x-1];//把值赋给templ,为计算下一位做准备
        shifthex /= 16;//计算下一位要除以的值
    }
      

  5.   

    那么请问如果num为50,算出来应该是什么结果呢?