Вопросы по EEPROM: хранение и чтение

0…65535

1 лайк

Я сначала написал 32768, но потом подумал, что это жырно.

Таки 65536 в два байта тоже не влезает ))

Отчего же? Хоть в один.
Все зависит от принятой системы кодировки. Например:
0000 0000 - 0,
0000 0001 - 1,
0000 0010 - 2,
0000 0011 - 4,
0000 0100 - 8,
0000 0101 - 16,
0000 0110 - 32,
0000 0111 - 64,
0000 1000 - 128,
0000 1001 - 256,
0000 1010 - 512,
0000 1011 - 1024,
0000 1100 - 2048,
0000 1101 - 4096,
0000 1110 - 8192,
0000 1111 - 16384,
0001 0000 - 32768,
0001 0001 - 65536,

Число от кодировки не зависит

65536 → 0001 00000000 00000000

Ничем не аргументированное заявление.
Не смотря даже на то, что в предыдущем сообщении я привел контрпример.
Но новый пример опять могу привести контрпример:

float a = 65536;

Попытайтесь получить битовое представление - убедитесь, что с Вашим вариантом оно не имеет ничего общего.

А ничего, что float нифига не шестнадцатибитное представление?

Не без этого, но ничего страшного – там хороший холестерин!

1 лайк

Это так. А вот влезет ли оно в два (один, три, стопиццот) байта ещё как зависи!

Бывает и 16-ти, и 8-ми, и, даже, 4-х.

Полюбопытствуйте для чего и как это работает.

Так это тоньше, да :slight_smile:

плохой пример.

вы присваиваете 65536.0f

“на самом деле“

это не то же самое, что 65536

Ну то есть да Вас, наконец, дошла мысль, что одно и то число может иметь более одного представления.
Следующий этап - осознать, что одно и то же представление может соответствовать различным числам.

Пока мы говорим именно о числе, то как раз число одно и то же, представления разные.
И - да, 65536.0f - это не число, а строка текста.

Но не дошла причина этого замечания - речь шла о конкретном случае, а не в целом по опере. Так-то позанудствовать и я могу :wink:

Не соглашусь! “Так” мы с Вами не можем :flushed_face:

1 лайк

Про “так” я тоже не спорю :sweat_smile:

Ну это уже вообще эзотерика. Так-то все, что написано - текст. и 0x29a тоже текст.

Но нет.

Таки число.

Более того, (вы наверняка это и без меня знаете, но) числа 65536, 65536.0 и 65536.0f все разные.

Ну, как говорят наши непартнёры – it depends. Например, в любимой Uno никакой разницы между двумя последними нет. А вот в богомерзкой stm32 – есть :frowning:

Отнюдь.
Чисто - математическая абстракция, не имеющая и не могущая иметь никакого вида, ощущения, его нельзя измерить приборами или почувствовать органами чувств.
А то, что Вы перечислили - это лишь варианты представления, имеющие свои характеристики. И разница здесь не в самих числах, а лишь в особенностях их представления.
Вот, скажем, “040”, “32”, “0x20”, “b0010000”, “XXXII” и “1012” - лишь текстовые обозначения, которые позволяют работать с числами, но ни одна эта текстовая константа не есть само число. Более того, различные ограничения (разрядность, точность) вероятнее всего являются атрибутами именно конкретного представления, никак не свойствами самого числа

вы с @ua6em не родственники случайно?)