python - इनर - हेक्साडेसिमल




पाइथन में दशमलव को बाइनरी में कनवर्ट करें (6)

इस प्रश्न का उत्तर यहां दिया गया है:

क्या पाइथन में कोई मॉड्यूल या फ़ंक्शन है जिसका उपयोग मैं दशमलव संख्या को अपने बाइनरी समकक्ष में परिवर्तित करने के लिए कर सकता हूं? मैं int ('[binary_value]', 2) का उपयोग करके बाइनरी को दशमलव में परिवर्तित करने में सक्षम हूं, इसलिए कोड को लिखने के बिना इसे रिवर्स करने का कोई तरीका है?


आप numpy मॉड्यूल से एक फ़ंक्शन का भी उपयोग कर सकते हैं

from numpy import binary_repr

जो अग्रणी शून्य को भी संभाल सकता है:

Definition:     binary_repr(num, width=None)
Docstring:
    Return the binary representation of the input number as a string.

    This is equivalent to using base_repr with base 2, but about 25x
    faster.

    For negative numbers, if width is not given, a - sign is added to the
    front. If width is given, the two's complement of the number is
    returned, with respect to that width.

पूरा होने के लिए: यदि आप निश्चित बिंदु प्रतिनिधित्व को अपने बाइनरी समकक्ष में परिवर्तित करना चाहते हैं तो आप निम्न परिचालन कर सकते हैं:

  1. पूर्णांक और fractional भाग प्राप्त करें।

    from decimal import *
    a = Decimal(3.625)
    a_split = (int(a//1),a%1)
    
  2. अपने बाइनरी प्रतिनिधित्व में आंशिक भाग को कनवर्ट करें। यह 2 से सफलतापूर्वक गुणा करने के लिए।

    fr = a_split[1]
    str(int(fr*2)) + str(int(2*(fr*2)%1)) + ...
    

आप here स्पष्टीकरण पढ़ सकते हैं।



सभी संख्या बाइनरी में संग्रहीत हैं। यदि आप बाइनरी में किसी दिए गए नंबर का टेक्स्ट प्रतिनिधित्व चाहते हैं, तो bin(i) उपयोग करें

>>> bin(10)
'0b1010'
>>> 0b1010
10

def dec_to_bin(x):
    return int(bin(x)[2:])

इट्स दैट ईजी।


n=int(input('please enter the no. in decimal format: '))
x=n
k=[]
while (n>0):
    a=int(float(n%2))
    k.append(a)
    n=(n-a)/2
k.append(0)
string=""
for j in k[::-1]:
    string=string+str(j)
print('The binary no. for %d is %s'%(x, string))






decimal