Standard notation needed for binary numbers as exponents

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
9 replies · 2K views
coolul007
Gold Member
Messages
271
Reaction score
8
I work a lot in binary. I am organizing some of my work and need a way to write expressions. I can always create my own notation, but i would rather not invent something that already exists.
1011 is binary for 11 base 10. I use this {3,1,0} to represent the binary with just exponents. When I multiply this is the notation I use: {3,1,0}(1) ={4,2,1} This is ok , but division is awkward, {4,2,1}/(1) = {3,1,0} Any help will be appreciated.
 
Physics news on Phys.org
Actually, I was looking for a better way to show the operation of multiplication and division. I didn't make that clear
 
do you also have a problem when you multiply with a non power of two number

(3,1,0) * (3,1,0) = (3,1,0) * 3 + (3,1,0) * 1 + (3,1,0) * 0 = (6,4,3) + (4,2,1) + (3,1,0) = (6,4,3,2,1,0) ?

It seems like I'm trying to do things in Roman numerals with this notation so I'm sure folks are going to get real confused.

This is just my thought though you should still explore its pros and cons.
 
coolul007 said:
I work a lot in binary. I am organizing some of my work and need a way to write expressions. I can always create my own notation, but i would rather not invent something that already exists.
1011 is binary for 11 base 10. I use this {3,1,0} to represent the binary with just exponents. When I multiply this is the notation I use: {3,1,0}(1) ={4,2,1} This is ok , but division is awkward, {4,2,1}/(1) = {3,1,0} Any help will be appreciated.
What's wrong with 1011 for a (four-bit) binary number? That notation is very widely used, and conveys exactly the same information as your {3, 1, 0} notation. Both forms of notation represent ##1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0##. The former notation writes the coefficients, and keeps track of the exponents by the position in the bitstring. Your notation keeps track of the exponents of the terms with nonzero coefficients.
 
coolul007 said:
Actually, I was looking for a better way to show the operation of multiplication and division. I didn't make that clear
Using bitstrings (as in the usual notation for binary numbers) multiplication is performed analogously with how it is performed in decimal arithmetic when multidigit numbers are multiplied. The only facts that are needed though, are 0 * 0 = 0, 0 * 1 = 1, 1 * 0 = 0, and 1 * 1 = 1. Division also works analogously with how it is performed with decimal numbers.
 
Time to end this thread. I am not interested in binary vs other bases,etc. I wanted to know if there existed notation analgous to set theory for strictly dealing with operations on exponents. I chose binary as there are no coefficients. This makes operating with numbers, quicker and more straight forward. I am also working with very large integers, thousands to millions of bits. On average eliminating the zero bits cuts the work in half.
 
What if in your notation you used a -1 for the division?

What kind of work are you doing that requires arithmetic operations on very large binary numbers?
 
I'm programming a PowerMod function and factoring large numbers. PowerMod requires squaring of numbers. Squaring is a "pig" operation with large numbers in a computer. The key is to make the operation as quick as possible. The notation question arises because to explain my squaring method I needed something to demonstrate the method in a paper. It is easy to program without notation, I was just wondering if such notation already existed. I can always continue using my own.