के लिए त्वरित पूर्णांक लॉगरिदम मेरे पास 32-8191 से पूर्णांक मान हैं जो मैं लगभग लॉगरिदमिक पैमाने पर मैप करना चाहता हूं। अगर मैं आधार 2 का उपयोग कर रहा था, तो मैं केवल प्रमुख शून्य बिट्स को गिन सकता था और उन्हें 8 स्लॉट में मैप कर सकता था, लेकिन यह भी बहुत कोर्स किया गया है; मुझे 32 स्लॉट चाहिए (और अधिक बेहतर होगा, लेकिन मुझे 32-बिट मान में बिट्स पर मैप करने की आवश्यकता है), जो लॉगरिदम के लिए लगभग 1.18-1.20 के आधार पर आता है। इस मूल्य की गणना करने के लिए किसी के पास कुछ चाल हैं, या उचित अनुमान, बहुत तेज़?विशेष मामले
मेरा अंतर्ज्ञान रेंज को सशर्त के साथ 2 या 3 सब्रैंज में तोड़ना है, और प्रत्येक के लिए एक छोटी लुकअप टेबल का उपयोग करना है, लेकिन मुझे आश्चर्य है कि क्या कुछ चाल है जो मैं गिनती-अग्रणी-शून्य के साथ कर सकता हूं, फिर परिणाम को परिष्कृत कर सकता हूं, खासतौर से जब परिणाम सटीक नहीं होते हैं लेकिन केवल मोटे तौर पर लॉगरिदमिक होते हैं।
मैं कुछ है कि (dlmalloc मन में आता है) से पहले किया देखा है, लेकिन मैं अगर मैं की तरह यह कितनी दूर लघुगणक से भटक नहीं जानते ।शायद यह बुरा नहीं है हालांकि। –
मुझे आश्चर्य है कि क्या मैं उन बिट्स को मेरे लिए अच्छी तरह से इकट्ठा करने के लिए फ़्लोटिंग पॉइंट का उपयोग कर सकता हूं ... –