मैं एक छोटे से, तेजी से तलाश कर रहा हूँ (दोनों दिशाओं में) पूर्णांकों का निम्न सूची और रेंज 0-127 के एक सबसेट के बीच द्विभाजित मानचित्रण:कुशल मानचित्रण सेट
0x200C, 0x200D, 0x200E, 0x200F,
0x2013, 0x2014, 0x2015, 0x2017,
0x2018, 0x2019, 0x201A, 0x201C,
0x201D, 0x201E, 0x2020, 0x2021,
0x2022, 0x2026, 0x2030, 0x2039,
0x203A, 0x20AA, 0x20AB, 0x20AC,
0x20AF, 0x2116, 0x2122
एक स्पष्ट समाधान है:
y = x>>2 & 0x40 | x & 0x3f;
x = 0x2000 | y<<2 & 0x100 | y & 0x3f;
संपादित करें: मैं मान, विशेष रूप से 0x20Ax है, जो ऊपर साथ काम नहीं करते के कुछ याद आ रही थी।
एक और स्पष्ट समाधान एक लुकअप टेबल है, लेकिन इसे अनावश्यक रूप से बड़ा किए बिना, एक लुकअप टेबल को कुछ भी पुनर्व्यवस्थित की आवश्यकता होगी और मुझे संदेह है कि पूरा कार्य सरल बिट पुनर्संरचना के साथ बेहतर हो सकता है।
उत्सुकता के लिए, उन जादू संख्याएं केवल "बड़े" यूनिकोड कोडपॉइंट हैं जो विरासत आईएसओ -885 9 और विंडोज कोडपेज में दिखाई देती हैं।
http://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algorithm –
btw, एक द्विभाजित मानचित्रण एक सबसेट पर injective कहा जाता है;) इसो-8859- में – Christoph