@ru_python

Страница 1533 из 9768
Aragaer
16.09.2016
08:47:32
хотя можно опустить самые старшие буквы 'a

Rocket
16.09.2016
08:48:51
нельзя, поток тогда будет не выровнен

Aragaer
16.09.2016
08:48:51
хм. А ваще можно действительно сделать прямо потоком

не, я про окончание потока

Google
-
16.09.2016
08:49:18
я даже привел на С код, который это реализует
Какой из твоих кодов по 14 бит преобразует?

Aragaer
16.09.2016
08:49:26
все 8)

-
16.09.2016
08:50:05
Проблему с окончанием потока можно решить записав в начале длинну бинарного потока в байтах.

Aragaer
16.09.2016
08:50:14
точнее он преобразовывает инт в трехбуквенную запись

Subbotin
16.09.2016
08:50:20
тогда это не поток

Aragaer
16.09.2016
08:50:26
начиная с младших разрядов

а можно сделать поток

Rocket
16.09.2016
08:50:41
по 64 бита = 0,5833333333333333

тоже не очень...

ну ок))))

по 14 бит, думаю, самое то )

Aragaer
16.09.2016
08:51:03
47 бит хорошо

Google
Rocket
16.09.2016
08:51:10
или по 47

-
16.09.2016
08:51:20
Тогда ввести символ окончания потока

Aragaer
16.09.2016
08:51:22
ну да, нужен какой-то признак окончания потока

-
16.09.2016
08:52:47
Либо в конце потока будем говорить, где именно он закончился.

Rocket
16.09.2016
08:53:00
26^10/2^47 = 1.00305254345

я чтото не то считаю?

эффективность ниже, зато никакого гемора с паддингом

Aragaer
16.09.2016
08:53:40
ща сделаю для потока

поток кончается EOF

Rocket
16.09.2016
08:55:06
ну, для 47 бит получается 5 лишних байт в крайнем случае

можно не заморачиваться

ща буду соображать как на питоне битовые сдвиги делать ))))

Aragaer
16.09.2016
08:56:20
эээ

так же, как у всех нормальных людей

O'Miay
16.09.2016
08:56:51
xor

Rocket
16.09.2016
08:56:58
» «

Aragaer
16.09.2016
08:57:01
>> и <<

Rocket
16.09.2016
08:57:42
давно я этого не делал )

O'Miay
16.09.2016
08:57:46
xor ecx, 2

Google
-
16.09.2016
09:00:42
ну, для 47 бит получается 5 лишних байт в крайнем случае
Хмм... Что-то не понял как ты выравнивать их собираешься. Вот нужно тебе записать 64 бита, первыми десятью буквыми ты записал 47, а как ты запишешь оставшиеся 17 бит?

Aragaer
16.09.2016
09:02:44
допишешь впереди еще 30 нулей и запишешь

ну да, надо знать длину получается

-
16.09.2016
09:10:18
добить нулями слева
Допустим тебе осталось записать 1 бит. Если ты добьёшь его нулями, то как отличишь 00...01 от 1?

Rocket
16.09.2016
09:10:48
гхм...

Aragaer
16.09.2016
09:11:59
c 14 та же ботва на самом деле

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

Rocket
16.09.2016
09:12:45
либо добивать исходные данные так, чтобы они были кратны по длинне

что я собственно и собираюсь сделать, по этому 14 бит лучше

Aragaer
16.09.2016
09:15:27
47 бит это почти 48, то есть 6 байт

Artem
16.09.2016
09:19:19
вы можете добавить заголовок из 2 символов, в котором напишете, сколько бит в последнем чанке значащие

Rocket
16.09.2016
09:20:04
могу

-
16.09.2016
09:20:30
Может тогда суффикс, где бы описывалось сколько значащих бит в предпоследнем чанке? Тогда можно передавать потоком

Aragaer
16.09.2016
09:20:45
а как отличить суффикс от потока?

о, можно сделать ваще красиво

-
16.09.2016
09:21:15
Поток же закрывается, не?

Aragaer
16.09.2016
09:21:41
47 бит помещаются в 10 букв, но не покрывают все возможные комбинации

Google
Aragaer
16.09.2016
09:21:58
можно сделать особую комбинацию, которая означает окончание потока

Artem
16.09.2016
09:22:04
можно и на кадры поток разделить

так-то

Aragaer
16.09.2016
09:22:24
zzzzzzzzzz например будет означать окончание потока - оно не помещается в 47 бит

Artem
16.09.2016
09:22:36
потом придете к какому-нибудь HDLC over Enigma

[Anonymous]
16.09.2016
09:22:53
Какие редакторы вы используете?

Aragaer
16.09.2016
09:23:44
емакс с ивил модом

поигрался, понял, что запутался с битиками и надо по-нормальному с тестами писать

был бы на работе, написал бы. А так лучше пойду с сыном в машинки играть

Admin
ERROR: S client not available

Aragaer
16.09.2016
09:30:18
2^47 25 23 24 13 07 24 23 07 12 20 то есть максимальное значение из 47 бит в виде букв это zxynhyxhmu

точнее zxynhuxhmt

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

Nobue
16.09.2016
10:16:16
Andrew
16.09.2016
10:32:59
Rodeo

O'Miay
16.09.2016
10:39:21
vim\

Farrux
16.09.2016
10:51:20
atom with vim-mode ?

Rocket
16.09.2016
10:52:28
заморочился ))))

def b26encode(input): """Encode the bytes-like object input using Base26 and return a string. """ if not isinstance(input, bytes): raise TypeError('input must be bytes') #pading leftover = len(input) % 7 if leftover: input = input + bytes(7 - leftover) # Don't use += ! # conv = BaseConverter(_b26alphabet).from_decimal encoded = '' for i in range(0, len(input), 7): c = int.from_bytes(input[i: i + 7], 'big') e = int2base(c >> 42) # bits 1 - 14 if len(e) < 3: e += _b26alphabet[0]; encoded += e e = int2base((c >> 28) & 0x3fff) # bits 14 - 28 if len(e) < 3: e += _b26alphabet[0]; encoded += e e = int2base((c >> 14) & 0x3fff) # bits 28 - 42 if len(e) < 3: e += _b26alphabet[0]; encoded += e e = int2base(c & 0x3fff) # bits 42 - 56 if len(e) < 3: e += _b26alphabet[0]; encoded += e return encoded

Rinat
16.09.2016
11:22:16
кто подскажет? есть такая последовательность A A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9 надо найти число которое встречается только один раз, т.е. в данном случае 7 вопрос как правильнее это сделать? элементы всегда нечетные числа

Google
Rinat
16.09.2016
11:22:47
я делал в лоб эту задачу

Arseny Bergman
16.09.2016
11:22:51
можно использовать хеш

Rinat
16.09.2016
11:22:54
def solution(A): s = set() for n, a in enumerate(A): if a not in A[n+1:] and a not in s: return a else: s.add(a)

но гы сложность выходит O(N**2)

Artem
16.09.2016
11:27:23
если можно использовать O(N) по памяти, то за O(N) по времени можно сделать, используя нечетность

Rinat
16.09.2016
11:28:27
еще подскажку кинь что почитать?

Artem
16.09.2016
11:28:44
подумай, как ты можешь использовать нечетность

идеи?

Rinat
16.09.2016
11:30:31
хз, только если умножать на 2? или складывать, получатся же четные числа

Artem
16.09.2016
11:35:27
можно и дикт, тогда и нечетность не используется

Выглядит так, как будто задачку неправильно запомнили

Dumitru
16.09.2016
11:36:00
можно и дикт, тогда и нечетность не используется
Я думаю можно извратиться и найти решение за O(1) по памяти

Artem
16.09.2016
11:36:23
если все элементы повторяются произвольное количество раз, то в голову не приходит

Rinat
16.09.2016
11:36:28
я думаю 100% можно)) дайте наводку или кусок кода, чтобы понять

Artem
16.09.2016
11:36:32
нипаксорить

Rinat
16.09.2016
11:36:42
повторяются всегда четное количество раз

во

Artem
16.09.2016
11:36:47
а, лол

ну тогда все проще

почитай про битовые операции

Страница 1533 из 9768