bit hexadecimal e operação

0

Eu sou mais novo em escrever scripts, então preciso de ajuda.

para que o problema esteja em um dos meus scripts, estou fazendo uma operação E bit a bit, mas estou recebendo dados incorretos.

elaborando isso:

$value have a hex value 0xffffffc0.

E eu fiz alguns grepping e tenho valor hexadecimal armazenado em $ pattern.

então eu preciso fazer e operação de $ value & amp; $ padrão, mas recebendo dados errados, porque qualquer que seja o valor $ que eu estou passando, ele é convertido em valor decimal.

$value = hex '0xffffffc0' ;
print $value;
$pattern = 0x35040 ; ####this value will be from the grepping#### 
$pattern1 = $pattern & 0xfffffffc;

print "$pattern1\n";

estou vendo O / P: 35008

    
por Ram Charan 12.02.2018 / 14:51

1 resposta

0

Você pode especificar números hexadecimais como $hex_number = 0xaf56 , hex converte uma string com texto hexadecimal no número equivalente, ou seja, $hex_number == hex 'af56' . Os números são representados em binário dentro de um computador e eles se comportarão adequadamente com qualquer operação em bits que você fizer neles.

É somente quando você imprime um número que precisa ter cuidado sobre como deseja formatá-lo. Por padrão, os números são impressos em decimal, você pode imprimir em hexadecimal usando o especificador de formato %x com printf .

    
por pii_ke 13.02.2018 / 22:14