# How to avoid rounding off in binary representation

• julypraise
In summary, the function f is surjective if interpreted in binary, but not one-to-one. It is possible to make a function which is one-to-one by avoiding rounding off errors. Expanding the domain of the function may help.
julypraise

## Homework Statement

Is the fundtion defined $f:P(\mathbb{N}) \to [0,1]$ by

$f(X) = 0.a_{1} a_{2} \dots$ in binary representation where $a_{k}=1$ if $k\in X$ and otherwise $0$ one-to-one?

(*note: N does not have 0)

If not, can you change bit so that the changed funtion becomes one-to-one?

## The Attempt at a Solution

I know this function is surjective if I interpret the decimal expression in binary representation. But then in this case f({1}) = f(Z\{1}) as 0.100000.. = 0.011111111..., therefore not one-to-one. (Am I right?)

So can I in some way make a function that is one-to-one and similar to this one by somehow avoiding the rounding off problem? Could you give me just a hint? Thanks.

julypraise said:
So can I in some way make a function that is one-to-one and similar to this one by somehow avoiding the rounding off problem? Could you give me just a hint? Thanks.

I have a way of doing this, but it is pretty inelegant. Are you alright with expanding the codomain of the function?

jgens said:
I have a way of doing this, but it is pretty inelegant. Are you alright with expanding the codomain of the function?

Well, yes. Just give me a brief idea of it, please. And also.. as an extra question, well... do you have another idea of making bijection between two sets? This binary representation thing is not the best idea on making bijection between P(N) and [0,1].. right?

I haven't completely figured it out, but you can make a distinction between 3 types of sets:
1. Sets X with a finite number of elements. Let's call them "0-tail".
2. Sets X that contain all elements of ##\mathbb{N}_{>n}## for some number n. Let's call them "1-tail".
3. Sets X that belong neither to sets of type 1 nor to sets of type 2. Let's call them "no-tail".

Now we can for instance take your binary representation, but divide all 0-tailers by 2.
And divide all 1-tailers by 2 and subtract from 1.
That way, you'd have a bijection of ##\mathcal{P}(\mathbb{N})## to ##[0,1)##.

EDIT: edited the 1-tail operation.

Last edited:
I have not checked if I Like Serena's solution works, but another (similar) way of doing this is to expand the codomain to be [0,1] and all real numbers in [1,2] with which have tails consisting completely of 1s. Then you just map the problematic elements into your expanded codomain.

jgens said:
I have not checked if I Like Serena's solution works, but another (similar) way of doing this is to expand the codomain to be [0,1] and all real numbers in [1,2] with which have tails consisting completely of 1s. Then you just map the problematic elements into your expanded codomain.

I'm not quite sure what you meant. The image of the mapping is still [0,1]. Isn't it?

julypraise said:
I'm not quite sure what you meant. The image of the mapping is still [0,1]. Isn't it?

No. The point is that you can easily define a new mapping which is one-to-one and maps onto the expanded codomain I mentioned. Notice that for each $x \in [0,1]$ there are at most two sets in $\mathscr{P}(\mathbb{N})$ which will map to $x$ with your original mapping. Now define a new mapping which takes these problematic sets into the added part of your codomain. Do you want more of a hint?

Edit: It is also worthwhile to check if you can use I Like Serena's solution. His/her posts are very good.

I think it's quite enough. Thanks guys.

## 1. What is rounding off in binary representation?

When converting numbers from decimal to binary, it is common for the binary representation to have a finite number of bits. This can lead to rounding off, where the converted binary number is not an exact representation of the decimal number.

## 2. Why is it important to avoid rounding off in binary representation?

Rounding off can lead to errors in calculations and can affect the precision of the data being represented. This can be especially problematic in scientific and mathematical applications where accuracy is crucial.

## 3. How can I avoid rounding off in binary representation?

One way to avoid rounding off is to use more bits in the binary representation. The more bits used, the more precise the representation will be. Another method is to use floating-point numbers, which allow for a larger range of values and can reduce rounding errors.

## 4. Are there any specific techniques for avoiding rounding off in binary representation?

Yes, there are techniques such as rounding modes and precision control that can be used when converting numbers from decimal to binary to minimize rounding off. These techniques are commonly used in computer programming languages and libraries.

## 5. Can rounding off be completely avoided in binary representation?

No, it is not possible to completely avoid rounding off when converting numbers from decimal to binary. However, by using more bits and proper techniques, the amount of rounding off can be minimized and the accuracy can be greatly improved.

Replies
3
Views
1K
Replies
1
Views
266
Replies
3
Views
2K
Replies
7
Views
2K
Replies
3
Views
964
Replies
17
Views
1K
Replies
7
Views
1K
Replies
12
Views
6K
Replies
12
Views
2K
Replies
4
Views
1K