討論串[問題] 計算數字的二進制長度
共 4 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓5(5推 0噓 4→)留言9則,0人參與, 最新作者littleshan (我要加入劍道社!)時間16年前 (2009/09/18 09:50), 編輯資訊
0
0
0
內容預覽:
以下純屬惡搞,小朋友不要學. unsigned int binary_length(unsigned int i). {. if(!i) return 0;. union {. float f;. struct {. unsigned int mantissa:23;. unsigned int e

推噓4(4推 0噓 10→)留言14則,0人參與, 最新作者adrianshum (Alien)時間16年前 (2009/09/17 21:04), 編輯資訊
0
0
0
內容預覽:
你這個做法的話, 可以寫得簡單一點:. (沒有測試過, 應該可以吧 XDD ). int binaryLength(int x) {. int i;. for (i = 31; i > 0 && (x & (1 << i)) ; i--){. }. return i;. }. --. 發信站:

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者bleed1979 (十三)時間16年前 (2009/09/17 20:53), 編輯資訊
0
0
1
內容預覽:
沒有特別去想有沒有特殊解法, 直觀的做法就是最左邊的1出現的位置. #include <stdio.h>. int Blen(int a). {. int i,b;. for (i=31,b=0x80000000;i>=0 && !(a&b);i--,b>>=1). ;. return(i+1);.
(還有31個字)

推噓7(7推 0噓 8→)留言15則,0人參與, 最新作者chrisjon (與程式最後的決戰)時間16年前 (2009/09/17 12:54), 編輯資訊
0
0
0
內容預覽:
請問有直接計算二進制長度的語法嗎?. 例如:12(10) = 1100(2). 那長度就是 4. 我是有想說寫a|(2^31-1),然後再&1計算1有幾個就是它的長度. 不過,是否有直接的語法可以用呢?. --. 周瑜你好:. 我們是荊州水軍統領的蔡瑁和張允,曹操帶領北方八十三萬大軍南下. 我們假裝
(還有11個字)
首頁
上一頁
1
下一頁
尾頁