2011-02-01 65 views

回答

3

,你可以用下面的公式得到一个整数n(N> 0)的二进制表示的字符数:

ceil(log(2, n + 1)) 

SQL> SELECT n, ceil(log(2, n + 1)) num_of_char 
    2 FROM (SELECT ROWNUM n FROM dual CONNECT BY LEVEL <= 64); 

     N NUM_OF_CHAR 
---------- ----------- 
     1   1 
     2   2 
     3   2 
     4   3 
     5   3 
     6   3 
     7   3 
     8   4 
     [...] 
     15   4 
     16   5 
     [...] 
     31   5 
     32   6 
     [...] 
     63   6 
     64   7 
+0

哇,我不认为这会如此简单;] – canni 2011-02-01 18:06:01