двоичный формат, битовые операции существуют? например, <<16#7F, 16#FF>> bsl 1

Компиляция с --release и наличие Cargo.toml

[profile.release]
debug=True

И действительно будет включать в себя символы отладки, а также выполнять оптимизацию. Два не противоречат друг другу.

Таблица [profile.release] вашего Cargo.toml только сообщает cargo, какие параметры конфигурации вы хотели бы использовать, когда вы проходите флаг --release. Другие варианты включают настройку LTO, уровни оптимизации и включение / отключение rpath.

8
задан Jonas 11 January 2013 в 16:17
поделиться

2 ответа

Испытайте этот путь:

bbsl(Bin,Shift) -> <<_:Shift,Rest/bits>> = Bin, <<Rest/bits,0:Shift>>.
6
ответ дан 5 December 2019 в 22:21
поделиться

Используя неограниченные целочисленные размеры Erlang мы можем выполнить это:

1> Bits = <<16#0FFFFFFF:(4*8)>>.
<<15,255,255,255>>

2> size(Bits).
4

3> Size=size(Bits)*8.
32

4> <<Num:Size>> = Bits.
<<15,255,255,255>>

5> Num.
268435455

6> Num2 = Num bsl 4.
4294967280

7> Bits2 = <<Num2:Size>>.
<<"ÿÿÿð">>

8> <<A:8,B:8,C:8,D:8>>=Bits2.
<<"ÿÿÿð">>

9> A.
255

10> D.
240

поскольку мы ожидали.

Обратите внимание, что в моем решении я ожидал, в каком количестве сдвигов я буду нуждаться (4) путем добавления 4 '0 к начальной строке, сохраненной в двоичном файле (16#0F... первые 4 положения 0),

Не уверенный, как я обработал бы его, если бы я должен был сместиться вне 'границы' двоичного контейнера, я предполагаю, что Вы были бы просто И с 2^Size-1.

0
ответ дан 5 December 2019 в 22:21
поделиться
Другие вопросы по тегам:

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