Предварительная установка CRC и остаток

В React Native flex работает немного по-другому, так как принимает только одно число. Это связано с тем, что движок макетов Yoga Facebook использует

flex: 1 не означает «расти столько, сколько нужно». Когда вы присваиваете группе дочерних компонентов это свойство, вы, по сути, говорите, что каждый элемент со свойством flex: 1 должен занимать столько же места, сколько и каждый другой элемент. Думайте о flex: 1 как о назначении соотношения. Если у вас есть 1 элемент без братьев и сестер, он попытается заполнить все доступное пространство. Если у вас есть 4 элемента, и все они являются братьями и сестрами, и все они установлены на flex: 1, то каждый займет 1/4 (25%) доступного пространства.

Это также можно манипулировать, скажем, у вас есть 4 элемента, и 3 из них установлены на flex: 1. Вы можете установить 4-е на flex: 2. Этот 4-й элемент теперь будет использовать вдвое больше места, чем другие компоненты (40% доступного пространства по сравнению с 20%). Flex также может быть установлен на отрицательное число, что означает, что при необходимости он будет уменьшен до минимальной высоты и ширины.

Это поведение в значительной степени идентично тому, как свойство flex-grow работает в CSS. Если вы хотите манипулировать начальным размером гибкого контейнера независимо от его братьев и сестер, вам следует использовать свойство flex-basis (flexBasis в реагировать). flexBasis: content изменит размер контейнера в зависимости от его содержимого. flexBasis также принимает число, если вы хотите вручную установить начальную ширину ваших контейнеров.

6
задан DGentry 28 October 2008 в 01:47
поделиться

3 ответа

Вы инициализируете регистр CRC с предварительной установкой перед подачей Вашего сообщения.

Остаток - то, что нужно оставить в регистре CRC после питания через сообщение плюс его корректный CRC.

Если Вы просто захотите отправить сообщение, то Вы не будете видеть значение остатка. Но когда устройство выполняет Ваш message+CRC через алгоритм CRC снова, это будет видеть окончательное значение 0x1D0F, если не было никаких ошибок передачи.


Можно также продемонстрировать это себе, не получая включенное устройство. Это может помочь Вам подтвердить, что Ваш алгоритм делает что-то, что, по крайней мере, напоминает CRC.

  • Во-первых, вычислите CRC для своего сообщения.
  • Добавьте свое сообщение и что CRC, затем передайте все это посредством нового вычисления CRC (не забудьте сбрасывать к предварительно установленному значению сначала.)
  • Если бы все подходили, то Ваш регистр CRC должен содержать значение остатка.

Лучшее объяснение CRC, которое я когда-либо находил, здесь:

https://archive.org/stream/PainlessCRC/crc_v3.txt

6
ответ дан 17 December 2019 в 02:35
поделиться

Различие находится в том, что алгоритм делает с двумя значениями. Я просто посмотрел на алгоритм CRC сам, и это выглядит довольно простым.

Предварительная установка является значением, с которого она запускается, и остаток является XOR'd со значением в конце.

Теперь, причина выбора конкретных значений для предварительной установки и остатка, который я не знаю.

0
ответ дан 17 December 2019 в 02:35
поделиться

Что-то не прямо здесь.

Вы ищете 16-разрядный CRC, но Вы указали 24-разрядную Предварительную установку и Остаток. Отправьте ссылку на таблицу данных для устройства, на которое Вы смотрите.

Лучший источник для получения информации о CRC, между прочим, руководство Ross Williams по CRC.

править: А-ч ха, я вижу, что "24-разрядная" предварительная установка была просто форматированием таблицы.

0
ответ дан 17 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: