Planilhas binárias com operadores bit a bit [fechados]

1

Estou procurando uma maneira de construir facilmente planilhas binárias usando operadores bitwise, como SHIFT , AND , OR e XOR .

Eu olhei para o Gnumeric mas não consegui encontrar nenhuma função que permitisse que você configurasse a base para 2 e fizesse operações binárias fáceis sem ter que se retirar para usar a função interna que é desajeitada como você pode não use a representação binária.

    
por ks6g10 19.01.2013 / 23:54

1 resposta

2

Se você quiser apenas fazer valores booleanos em uma célula, use = TRUE () e = FALSE (representados por 1 e 0 normalmente). Existem AND, IF (tendo um primeiro operando lógico). NÃO, OU e XOR. Você pode criar linhas desses valores e executar operações em linha, permutações, etc.

Se você quiser fazer operações bitwise em valores únicos, você deve ser capaz de fazer isso. Aqueles trabalham na representação binária de inteiros em um intervalo particular. Você deve ser capaz de exibi-los em hexadecimal. Não sei quais produtos suportam entrada em hex ou binário como parte da formatação de célula, mas funções como BIN2DEC, BIN2HEX, DEC2BIN e DEC2HEX devem ser úteis. Jogue com estes para conseguir o que deseja. (Para introduzir um valor binário, use BIN2DEC, e para mostrar um resultado como binário, use DEC2BIN. Eu sei que soa de trás para frente, mas você pode pensar nas operações BIT, abaixo, fazendo um DEC2BIN nos operandos e então fazendo um BIN2DEC de o resultado - o efeito é como se fizesse isso, internamente é mais fácil, brinque com uma planilha que tenha essas funções e confirme como ela funciona.)

As funções bit a bit OpenFormula são BITAND, BITLSHIFT, BITOR, BITRSHIFT e BITXOR. Espera-se que estes funcionem em valores não assinados de pelo menos 48 bits. Para trabalhar em n bits, é importante definir uma constante 2 ^ n-1 que possa ser usada em BITAND para descartar quaisquer bits que se espera que sejam deslocados e BITXOR para complementar todos os bits (não havendo BITCOMP ou BITNOT) . Não há mudança circular, mas uma pode ser composta. Para qualquer coisa particularmente complexa, o uso de operações em linha em células com valores booleanos únicos pode ser melhor. Alternativamente, pode ser desejável definir macros para funções bit a bit complicadas envolvendo rotações e permutações.

Estes podem não estar uniformemente implementados ainda. Verifique as versões mais recentes do LibreOffice Calc, do Apache OpenOffice Calc e do Gnumeric.

    
por 20.01.2013 / 05:34