Solved

Binary Bits to Decimal Numbers

Posted on 2010-08-21
10
509 Views
Last Modified: 2012-05-10
i am interested to get a python module/script that does the following :

Input :

Binary Values

10011100011

Output:

Based on the above binary values/bits, convert the bits into dec equivalent

1024 + not_set + not_set + 128 + 64 + 32 + not_set + not_set + not_set + 2 + 1

Thanks a bunch.

0
Comment
Question by:williamwlk
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
10 Comments
 
LVL 41

Expert Comment

by:HonorGod
ID: 33491679
you mean like:


>>>
>>> int( '10011100011', 2 )
1251
>>>>>> hex( 1251 )
'0x4e3'

Open in new window

0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33491680
Oh, you really want that output?

1024 + not_set + not_set + 128 + 64 + 32 + not_set + not_set + not_set + 2 + 1

one moment.
0
 

Author Comment

by:williamwlk
ID: 33491707
:) Yes
0
Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

 
LVL 41

Accepted Solution

by:
HonorGod earned 350 total points
ID: 33491719
Like this?

Output:

C:\>python plus.py
 1024 +  not_set +  not_set +  128 +  64 +  32 +  not_set +  not_set +  not_set +  2 +  1

val = '10011100011';
L = len( val );
plus = '';
for i in range( L ) :
  c = val[ i ];
  if c == '1' :
    print plus, int( ( '1' + ( '0' * ( L - 1 - i ) ) ), 2 ),
  else :
    print plus, 'not_set',
  plus = '+ ';

Open in new window

0
 
LVL 41

Assisted Solution

by:HonorGod
HonorGod earned 350 total points
ID: 33495195
Do you like this better?

Output:
 1024 +  not_set +  not_set +  128 +  64 +  32 +  not_set +  not_set +  not_set +  2 +  1
val = '10011100011'
result = [];
pot = 1
while val :
  val, c = val[ :-1 ], val[ -1 ]
  if c == '1' :
    result.append( pot );
  else :
    result.append( 'not_set' )
  pot *= 2

result.reverse();
plus = '';
for c in result :
  print plus, c,
  plus = '+ ';

Open in new window

0
 
LVL 15

Assisted Solution

by:mish33
mish33 earned 150 total points
ID: 33597732
I'd like more structured version:
def p2(n):
  p = 1
  s = []
  while n:
    s.append(n&1 and p or 0)
    p *= 2
    n /= 2
  return s[::-1]

value = '10011100011'
print ' + '.join(str(b or 'not set') for b in p2(int(value, 2)))

Open in new window

0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33597845
the "or 0" appears to be unnecessary...


interesting solution though
def p2(n):
  p = 1
  s = []
  while n:
    s.append(n&1 and p)
    p *= 2
    n /= 2
  return s[::-1]

value = '10011100011'
print ' + '.join(str(b or 'not set') for b in p2(int(value, 2)))

Open in new window

0
 

Author Closing Comment

by:williamwlk
ID: 33639756
Thanks Bros! Cheers.
W
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 33639828
Thanks for the grade & points.

Good luck & have a great day.
0
 

Author Comment

by:williamwlk
ID: 33639865
You star! HonorGod! Thanks for helping me out too.
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Less strange, but still introduction This introduction was added (1st August, 2011) to reflect some reactions.  Firstly, the term basics in the title of the article...  As any other word, it is a symbol with meaning attached to the word by some a…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
Learn the basics of modules and packages in Python. Every Python file is a module, ending in the suffix: .py: Modules are a collection of functions and variables.: Packages are a collection of modules.: Module functions and variables are accessed us…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question