@ru_arduino

Страница 6328 из 7737
Юра
09.05.2018
07:51:24
откуда нули например?
Первый ключ такой

Dolphin
09.05.2018
07:51:34
нахуй бит?

байт делай

Первый ключ такой
нули в длине строк

Google
Юра
09.05.2018
07:52:06
нахуй бит?
Проблема в том, что строки кодированы хаффманом, у которого нет незначащих нулей

Юра
09.05.2018
07:52:28
Но и битовые длины укладываются в байтовую ячейку, не вижу проблемы использовать биты

Dolphin
09.05.2018
07:52:29
причем тут это?

У ТЕБЯ ДЛИНА СТРОКИ - 0

Юра
09.05.2018
07:52:50
Ты говоришь мне «длина строки может быть кодирована байтами»

Dolphin
09.05.2018
07:52:56
в некоторых позициях

Юра
09.05.2018
07:52:59
У ТЕБЯ ДЛИНА СТРОКИ - 0
Длина строки 0х20

Так

Падажжи

Нет таких случаев

Dolphin
09.05.2018
07:53:37
03f4 00 03f5 00 03f6 00 03f7 7c 03f8 8d 03f9 7b 03fa 4b 03fb 80 03fc 00 03fd 00

Юра
09.05.2018
07:53:59
С первые три байта (ф4 по ф6) это ключ

Google
Юра
09.05.2018
07:54:06
Далее 0х20 бит идет строка

Выровненная до байта

Dolphin
09.05.2018
07:54:47
а понял

это дата по смещению 1012

Юра
09.05.2018
07:55:25
Да, первые 1012 это массив битовых длин в байтовых ячейках

Dolphin
09.05.2018
07:55:40
хорошо

теперь про длины

про Хаффмана понял

но как ты смещение считаешь?

биты делим на 8?

Юра
09.05.2018
07:56:24
В каком случае?

Типа откуда до куда читать строку?

Dolphin
09.05.2018
07:56:54
да

0000 20 0001 72 0002 69 ... 03f1 3f 03f2 44 03f3 18

вот например 0001

длина 72

как ты получаешь смещение в мессиве строк?

0x3f4+20»3 ?

Юра
09.05.2018
07:59:19
Сек, я с мобильника, неудобно

Google
Юра
09.05.2018
07:59:36
К компу подойду

А, я понял твой вопрос. Я делаю ceil(0x20/8)

Так я получаю кол-во полных байт занимаемых строкой

Но это флоат математика, надо на бинарные операции переписать, а то долго выйдет, я думаю

Dolphin
09.05.2018
08:02:39
почему флоат?

0x20 » 3

Юра
09.05.2018
08:03:09
В данном случае все ок

В других нет

Dolphin
09.05.2018
08:03:17
три такта

Th0r
09.05.2018
08:03:18
https://bookspics.com/wp-content/uploads/2016/12/arduino_adventures_escape_from_gemini_station-500x615.jpg

Юра
09.05.2018
08:03:22
0x72 >> 3

Так. И тут ок

Юра
09.05.2018
08:03:43
Минуту

Dolphin
09.05.2018
08:03:51
;)

Юра
09.05.2018
08:04:01
Так

Dolphin
09.05.2018
08:04:27
9»3 = 1

Юра
09.05.2018
08:04:41
А нет

Вру вру

Dolphin
09.05.2018
08:04:45
надо остаток проверять

Юра
09.05.2018
08:04:47
Смотри

Google
Юра
09.05.2018
08:04:52
0x72 длина

надо остаток проверять
In [11]: 0x72 >> 3 Out[11]: 14 In [12]: ceil(0x72 / 8) Out[12]: 15

Вот

Dolphin
09.05.2018
08:05:52
на ассемблере напиши деление

Юра
09.05.2018
08:06:05
In [13]: 0x20 >> 3 Out[13]: 4 In [14]: ceil(0x20 / 8) Out[14]: 4

Dolphin
09.05.2018
08:07:02
eor r17, r17 shr r16 ror r17 shr r16 ror r17 shr r16 ror r17 swap r17 shr r16

r16 - частное r17 - остаток

Th0r
09.05.2018
08:07:44
Admin
ERROR: S client not available

Dolphin
09.05.2018
08:08:09
о наес! )

Юра
09.05.2018
08:08:27
как это работает?

Dolphin
09.05.2018
08:08:30
7»3 = 0

(7+1)»3 =1

Юра
09.05.2018
08:09:04
In [18]: (0x20+0x7) >> 3 Out[18]: 4 In [19]: ceil(0x20 / 8) Out[19]: 4 In [20]: (0x72+0x7) >> 3 Out[20]: 15 In [21]: ceil(0x72 / 8) Out[21]: 15

А. Я понял. Мы типа почти до байта дополняем и если будет хотя бы один бит, то мы получим байт и результат будет на 1 выше, прям как делает тот ceil, который нам нужен

Dolphin
09.05.2018
08:10:04
+

Итого - 4 такта

Victor
09.05.2018
08:16:19
О, поздравляю. Новый взял?

Google
Юра
09.05.2018
08:19:38
Andor
09.05.2018
08:21:04
нашёл причину кстати /* Single characters are shared when using this constructor. Restrict to ASCII, since the input must be UTF-8. */ if (size == 1 && Py_CHARMASK(*u) < 128) { unicode = unicode_latin1[Py_CHARMASK(*u)]; if (!unicode) { unicode = _PyUnicode_New(1); if (!unicode) return NULL; unicode->str[0] = Py_CHARMASK(*u); unicode_latin1[Py_CHARMASK(*u)] = unicode; } Py_INCREF(unicode); return (PyObject *)unicode; }

video
09.05.2018
08:27:03
Поругайте девайс
Что за пиздобляцкий девайс? Что за рукожопы его собрали? Да мой дырявый калькулятор лучше чем это непонятное что то...... Ну что братуха, нормально ругаю? Не перебарщиваю?

Andor
09.05.2018
08:27:05
PyObject *PyUnicode_FromStringAndSize(const char *u, Py_ssize_t size)

по-сути да, преобразование из строки в юникод

то есть то что выполняется при unicode('a')

отдельно специальным образом обрабатывает 0 и 1 символьные строки

Юра
09.05.2018
08:32:20
отдельно специальным образом обрабатывает 0 и 1 символьные строки
Так и что мы получаем в результате того, что она отдельно обработала 1символьнуюстроку?

Dolphin
09.05.2018
08:35:18
хули ты не пишешь нихуя а? )

Th0r
09.05.2018
08:36:01
хули ты не пишешь нихуя а? )
тебе письмо надо написать?

Dolphin
09.05.2018
08:36:07
ты понял меня

не выебывайся ;p

Th0r
09.05.2018
08:36:41
ты понял меня
то что нельзя запрограммировать на ассемблере - приходиться паять

Dolphin
09.05.2018
08:37:05
почему не Си? )

Th0r
09.05.2018
08:37:41
почему не Си? )
потому что поговорка такая

Юра
09.05.2018
08:37:58
@Dolphin_Soft, а ты не думаешь, что проще по скорости обращения к ключам будет хранить не ключи+строки а просто строки т.е. будем иметь массив выровненных трехбайтовых ключей, затем массив выровненных однобайтовых битовых длин строк Затем будем иметь выровнянную до байта последовательнсоть битовых строк

Dolphin
09.05.2018
08:37:59
Запаяй мне рекурсивный спуск ))

Th0r
09.05.2018
08:38:25
Запаяй мне рекурсивный спуск ))
ты меня понял, не выебывайся

Страница 6328 из 7737