Ask Your Question
1

binary value

asked 2018-04-06 12:16:46 -0500

santoshi gravatar image

how to obtain binary of following an integer.as the object is very large 189866136719308462018271159242437168532L

edit retag flag offensive close merge delete

Comments

(I tried repeated times to post the answer, got internal error, that i should report...)

bin( 189866136719308462018271159242437168532L )
dan_fulea gravatar imagedan_fulea ( 2018-04-07 08:54:04 -0500 )edit

2 answers

Sort by ยป oldest newest most voted
1

answered 2018-04-07 09:12:02 -0500

dan_fulea gravatar image

updated 2018-04-07 09:17:28 -0500

Alternatively, if we want the binary representation as a p h o n e number:

sage: a = 189866136719308462018271159242437168532L
sage: bin(a)
'0b10001110110101101110001101000111101110110011101001111001010101010010100111110111010100011010100111001000110100000000110110010100'

sage: type(bin(a))
<type 'str'>

This is similar to

sage: hex(a)
'0x8ed6e347bb3a795529f751a9c8d00d94L'
sage: oct(a)
'02166556150756635171252247672432471064006624L'

We can check that this matches the bits solution from the answer of slelievre:

sage: ZZ(a).bits() == [ int(s) for s in bin(a)[:1:-1] ]
True

Of course.

Note: Repeated times i tried to post versions of this answer. (The solution was to take a shower, then i wrote the word phone in an "unexpected" way. It seems that we cannot post the string pho.. number followed by an obvious such number here.)

edit flag offensive delete link more

Comments

@dan_fulea -- regarding pho.. ..mber, yes, this is one of the strings that cause questions or answers to be rejected automatically, as it frequently signals spam. It would be nice if that could be bypassed for users with sufficient karma, but I'm not sure the Askbot engine allows that.

slelievre gravatar imageslelievre ( 2018-04-07 14:14:15 -0500 )edit
1

answered 2018-04-06 12:53:23 -0500

slelievre gravatar image

One can convert this "long" to a "Sage integer", and use the method "bits".

sage: a = 189866136719308462018271159242437168532L
sage: b = ZZ(a).bits()

How many bits do we have:

sage: len(b)
128

Show the first eight bits

sage: b[:8]
[0, 0, 1, 0, 1, 0, 0, 1]

and the last eight bits

sage: b[-8:]
[0, 1, 1, 1, 0, 0, 0, 1]
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-04-06 12:16:46 -0500

Seen: 71 times

Last updated: Apr 07