3 ms·
> All data, all computer files, are fundamentally just numbers. That's a misconception. To get a data-representation for stuff (like numbers, documents, songs
by _Nat_ 5y ago
> All data, all computer files, are fundamentally just numbers.
That's a misconception.
To get a data-representation for stuff (like numbers, documents, songs, videos, pictures, text, etc.), we have to encode it. Then if we want to retrieve the thing, we'd have to decode it. It's not a number until decoded as such -- and you can't skip the need to decode data as a number because there're different ways to do it.
I appreciate that you're mostly just trying to object to laws restricting data, it's just that the bit about data-being-numbers may detract from it by starting with a misstatement.
---
If it helps break the mental-association: even if we assume that all data should be read as unsigned binary-integers, are they big-endian or little-endian? For example, is "1000" 8 or 1?
Or, say a computer has unordered-storage for stuff like [bags](https://en.wikipedia.org/wiki/Set_(abstract_data_type)#Multiset https://en.wikipedia.org/wiki/Set_(abstract_data_type)#Multi... ) (which are actually used in software, e.g. [in C#](https://docs.microsoft.com/en-us/dotnet/api/system.collections.concurrent.concurrentbag-1?view=net-6.0 https://docs.microsoft.com/en-us/dotnet/api/system.collectio... )). Then, what number would such data be, if the data itself fundamentally lacks a [total-ordering](https://en.wikipedia.org/wiki/Total_order https://en.wikipedia.org/wiki/Total_order )?
Or, if we insist that unsigned binary-integers are the fundamental encoding, then how could non-terminating numbers be stored, e.g. 1/3 or pi? Or even just non-integers or negative-integers, e.g. 1/2 or -1? Or, if we argue that data for those numbers isn't numbers until decoded as such, then why should we say that other data is numbers before decoding?
(Not that each point would need to be addressed, just, different thought-experiments that might help break out of the misconception.)
It might be more helpful to see binary-sequences as trivially decode-able as unsigned-binary-integers, rather than actually being unsigned-binary-integers.
- matheusmoreira 5y agoThanks for your interesting reply. I think it's the first time someone took this idea seriously and addressed it. I don't see how it's a misconception. All data is a sequence of bits. All sequences of bits are numbers expressed in base 2. How could I be wrong here? > you can't skip the need to decode data as a number because there're different ways to do it > if we assume that all data should be read as unsigned binary-integers, are they big-endian or little-endian? To me this just means all data could be represented as multiple numbers. Mentally, I visualize binary sequences as big endian. It's totally possible that there is another number that represents the same data but with different endianness. > Or, say a computer has unordered-storage for stuff like bags There must be at least one number that represents it, that much is certain. I'm just not particularly sure how complex that number is because when I made this argument what I had in mind was discrete self-contained files. I don't think I understand these other possibilities well enough to comment at the moment. > It might be more helpful to see binary-sequences as trivially decode-able as unsigned-binary-integers, rather than actually being unsigned-binary-integers. I don't see the distinction. If you can decode data as an integer, it must be equivalent to that integer.
- _Nat_ 5y agoWe can come up with [encoding-conventions](https://en.wikipedia.org/wiki/Computer_number_format https://en.wikipedia.org/wiki/Computer_number_format ) where any particular bit-string could map to any number. If we assert that decoding to a number under an encoding implies equivalence, then we'd have to say that all numbers are equal to each-other. It's easy enough to avoid such absurdities by recognizing that data's just data; that, to get stuff like numbers, text, images, etc., we need to decode the data.