072b46f69...b8.jpeg, 579.07 KB, 811x952, exif ggl iq id3 |
Дано: 16 бит на жестком диске == два байта, A и B.
Я записываю в них некие числа. Но. Помимо самих этих чисел, данная запись будет также содержать информацию Z о том, какое число за каким следует. Если первое следует за вторым, то Z = 0, если второе следует за первым, то Z = 1.
Получается, что хранимой информации тут не 16 бит, а 17 и последний несуществующий бит всегда равен 1 (если только диск не начнёт считывать информацию задом-наперёд).
В чём состоит ошибка моего рассуждения?
Если же меня не интересует информация Z, то записи (10;20) и (20;10) оказываются равноценны и получается, что я использую хранилище избыточно, имея возможность записать одно и то же двумя разными способами. Как в этом случае я могу сократить место используемого хранилища под хранение нужной мне информации?
ee04081c3...77.jpeg, 51.83 KB, 800x450, exif ggl iq id3 |
В общем, по всей видимости, в эти 16 байт уже зашита информация о порядке следования чисел и такая база данных представляет собой не то, чем кажется на первый взгляд.
Впрочем, тот факт, что несмотря на этот нахуй не нужный порядко-довесок, хранимые числа остаются круглыми в двоичной системе, намекает на то, что что-то тут horribly wrong и круглые числа не такие уж и круглые по своей природе, как о них можно было бы подумать.
Какие ещё Z, наркоман? Биты складываются в байт как в коробочку, а компьютер достаёт их и читает, после чего ложит на место. И какое имеет ко всему этому отношение мужчина на ОП-пике? И что у него в руках? Если ты и будешь делать треды-дневники вроде этого, мой тебе совет: пиши подробно, чтоб не выглядело как хаотичный поток инфы вроде этого.
d5bc92d06...2d.jpeg, 2666.65 KB, 1618x2750, exif ggl iq id3 |
>>cj9
> Какие ещё Z, наркоман?
Порядок цифр, зашифрованный через избыточность варианта комбинаций. Мы зна��м какое число идёт первым, а какое вторым, хотя нам этого не нужно.
> Биты складываются в байт как в коробочку, а компьютер достаёт их и читает, после чего ложит на место.
Угу. В этом и проблема.
> И какое имеет ко всему этому отношение мужчина на ОП-пике?
Никакого. Более того, свидетели видевшие этого мужчину в Чили, утверждали, что он отличался изрядным физическим и душевным здоровьем и не демонстрировал никаких патологических симптомов.
> И что у него в руках?
Железный лом.
> Если ты и будешь делать треды-дневники вроде этого, мой тебе совет: пиши подробно
Да я уж написал всё. Количество цифр нужное для того чтобы записать два числа не зависит напрямую от разрядности этих чисел. Для записи двух 8-битных чисел на самом деле требуется меньше, чем 16 бит.
>>cj1
Так не записывай двумя способами, запиши одним. Потом просто укажешь, в каких именно байтах нужная тебе информация.
>>cjb
> Так не записывай двумя способами, запиши одним
Каким? И как поиск потом по такому значению выполнять?
>>cja
Ну дак компьютер имеет множество коробочек в одной большой. И если ему надо перебрать две такие коробочки, и при этом извлечь из них знания, он достаёт их по очереди. Далее, используя свои мозги, он проводит считывание и кладёт на место.
Какая разница как записывать? Она есть только в том случае, если создаётся ещё одна коробочка для второй записи.
Чтоб было проще - возьмём предельный случай.
Задача: записать два однобитных числа от 0 до 1.
Дефолтный програмизд берёт два бита памяти и пишет их туда. Однако если рассмотреть список возможных вариантов заполнения этих двух байт, получится следующее:
0;0
0;1
1;0
1;1
Легко заметить, что 0;1 и 1;0 содержат одни и те же числа. Для данной задачи, поставленной как она есть, это избыточно и решать её следует с использованием троичных, а не двоичных битов.
>>cjk
Делаешь как в оп-посте, восьмой бит ставишь равным единице, и отсчитываешь от него в обе стороны.
Чем заморачиваться с впихиванием 9 байт исходных данных в 8, лучше придумайте, как использовать этот фантомный лишний бит, если он существует, в качестве контрольной суммы для 8 бит данных.
>>cjF
Его значение нельзя изменить, поэтому можно только объявить все пары с контрольной суммой 1 невалидными.