2013-04-09 22 views
-5

在C中,輸出是我所期望的。在Javascript中,輸出不是我所期望的。在Javascript中,十進制十六進制循環不是十六進制。
如何在Javascript中循環十六進制?

C:

#include<stdio.h> 
int main(){ 
for(int i=0x1000;i<=0x109F;i++){ 
    printf("%x\n",i); 
} 
return 0; 
} 

的Javascript:

<script type="text/javascript"> 
for(var i=0x1000;i<=0x109F;i++){ 
document.write(i+"<br>"); 
} 
</script> 
+0

一個號碼存儲爲數字,它並不重要符號你正在用它來指定它。例如,如果你轉儲'0x10'或'020',你的威脅值是相同的('16'),並且只有值被存儲,符號是一種約定,在某些情況下可以更容易地威脅一些數字。你需要的是格式化輸出,正如@ Doorknob建議的那樣,正如你在C中使用'printf(「%x」)'所做的那樣。你指定'i = 0x1000'確實沒關係,'i = 4096'會導致相同的輸出。 – ZER0 2013-04-09 01:54:14

+0

@ ZER0謝謝。您的評論有幫助。 – 2013-04-09 01:56:44

回答

3

可以使用toString方法:

document.write(i.toString(16)+"<br>"); //base 16 (hex) 
+0

謝謝@Doorknob幫助。 – 2013-04-09 02:00:49