एक फ़ंक्शन लिखें जो बफ़र दिए जाने पर b
(1 - 104857600 बाइट्स लंबा) और बिट्स की संख्या n
(1 <= n <= 64), बफ़र्स को n
बिट्स के टुकड़ों में विभाजित करता है । राइट-पैड के साथ पिछले हिस्सा 0
करने के लिए s तक n
बिट्स।
जैसे
बफ़र b = "f0oBaR"
या समकक्ष दिया [102,48,111,66,97,82]
और n = 5
, वापस
[12, 24, 24, 6, 30, 16, 19, 1, 10, 8]
इसका कारण यह है कि उपरोक्त बफर, जब द्विआधारी के रूप में प्रतिनिधित्व किया जाता है:
01100110 00110000 01101111 01000010 01100001 01010010
और जब 5s में फिर से समूहीकृत किया जाता है तो यह दिखता है:
01100 11000 11000 00110 11110 10000 10011 00001 01010 010[00]
जब वापस दशमलव में परिवर्तित किया जाता है तो उत्तर देता है।
टिप्पणियाँ
- बफर का प्रतिनिधित्व करने के लिए आप अपनी भाषा में जो भी डेटा टाइप बनाते हैं उसका उपयोग कर सकते हैं। PHP में आप शायद एक स्ट्रिंग का उपयोग करेंगे, नोड में आप एक बफर का उपयोग करना चाह सकते हैं
- यदि आप बफर का प्रतिनिधित्व करने के लिए एक स्ट्रिंग का उपयोग करते हैं, तो मान लें कि यह ASCII के लिए है -> अंतर रूपांतरण
- यदि आप पसंद करते हैं तो आप इनपुट के लिए ints (0-255) की एक सरणी का उपयोग कर सकते हैं
- रिटर्न मान एक सरणी या किलों की सूची होना चाहिए
परीक्षण के मामलों
> b = "Hello World", n = 50
318401791769729, 412278856237056
> b = [1,2,3,4,5], n = 1
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1
> b = "codegolf", n = 32
1668244581, 1735355494
> b = "codegolf" n = 64
7165055918859578470
> b = "codegolf" n = 7
49, 91, 108, 70, 43, 29, 94, 108, 51, 0
> b = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel est eu velit lacinia iaculis. Nulla facilisi. Mauris vitae elit sapien. Nullam odio nulla, laoreet at lorem eu, elementum ultricies libero. Praesent orci elit, sodales consectetur magna eget, pulvinar eleifend mi. Ut euismod leo ut tortor ultrices blandit. Praesent dapibus tincidunt velit vitae viverra. Nam posuere dui quis ipsum iaculis, quis tristique nisl tincidunt. Aliquam ac ligula a diam congue tempus sit amet quis nisl. Nam lacinia ante vitae leo efficitur, eu tincidunt metus condimentum. Cras euismod quis quam vitae imperdiet. Ut at est turpis.", n = 16
19567, 29285, 27936, 26992, 29557, 27936, 25711, 27759, 29216, 29545, 29728, 24941, 25972, 11296, 25455, 28275, 25955, 29797, 29813, 29216, 24932, 26992, 26995, 25449, 28263, 8293, 27753, 29742, 8272, 25964, 27749, 28276, 25971, 29045, 25888, 30309, 27680, 25971, 29728, 25973, 8310, 25964, 26996, 8300, 24931, 26990, 26977, 8297, 24931, 30060, 26995, 11808, 20085, 27756, 24864, 26209, 25449, 27753, 29545, 11808, 19809, 30066, 26995, 8310, 26996, 24933, 8293, 27753, 29728, 29537, 28777, 25966, 11808, 20085, 27756, 24941, 8303, 25705, 28448, 28277, 27756, 24876, 8300, 24943, 29285, 25972, 8289, 29728, 27759, 29285, 27936, 25973, 11296, 25964, 25965, 25966, 29813, 27936, 30060, 29810, 26979, 26981, 29472, 27753, 25189, 29295, 11808, 20594, 24933, 29541, 28276, 8303, 29283, 26912, 25964, 26996, 11296, 29551, 25697, 27749, 29472, 25455, 28275, 25955, 29797, 29813, 29216, 28001, 26478, 24864, 25959, 25972, 11296, 28789, 27766, 26990, 24946, 8293, 27749, 26982, 25966, 25632, 28009, 11808, 21876, 8293, 30057, 29549, 28516, 8300, 25967, 8309, 29728, 29807, 29300, 28530, 8309, 27764, 29289, 25445, 29472, 25196, 24942, 25705, 29742, 8272, 29281, 25971, 25966, 29728, 25697, 28777, 25205, 29472, 29801, 28259, 26980, 30062, 29728, 30309, 27753, 29728, 30313, 29793, 25888, 30313, 30309, 29298, 24878, 8270, 24941, 8304, 28531, 30053, 29285, 8292, 30057, 8305, 30057, 29472, 26992, 29557, 27936, 26977, 25461, 27753, 29484, 8305, 30057, 29472, 29810, 26995, 29801, 29045, 25888, 28265, 29548, 8308, 26990, 25449, 25717, 28276, 11808, 16748, 26993, 30049, 27936, 24931, 8300, 26983, 30060, 24864, 24864, 25705, 24941, 8291, 28526, 26485, 25888, 29797, 28016, 30067, 8307, 26996, 8289, 28005, 29728, 29045, 26995, 8302, 26995, 27694, 8270, 24941, 8300, 24931, 26990, 26977, 8289, 28276, 25888, 30313, 29793, 25888, 27749, 28448, 25958, 26217, 25449, 29813, 29228, 8293, 29984, 29801, 28259, 26980, 30062, 29728, 28005, 29813, 29472, 25455, 28260, 26989, 25966, 29813, 27950, 8259, 29281, 29472, 25973, 26995, 28015, 25632, 29045, 26995, 8305, 30049, 27936, 30313, 29793, 25888, 26989, 28773, 29284, 26981, 29742, 8277, 29728, 24948, 8293, 29556, 8308, 30066, 28777, 29486
> b = [2,31,73,127,179,233], n = 8
2, 31, 73, 127, 179, 233
char
एक पूर्णांक है जो एक बाइट लंबा होता है।
n
8 से अधिक के मूल्यों के लिए काम करने वाला है ? यदि ऐसा है,n
तो 64 से अधिक के मूल्यों के बारे में क्या , जो कि अधिकांश भाषा के पूर्णांक परिशुद्धता से बड़ा है।