|
|
Postada em 28/10/2005 15:48 hs
Qual lógica de operadores lógicos nestes casos abaixo? "Vira e mexe" eu encontro estes tipos de declaração em uns códigos que estou fazendo manutenção, mas ainda não peguei o espírito da coisa! Nada achei no help!
Nos testes usei a Immediate Window. a = 0 and 1 ?a 0 'por que retornou 0?
a = 8 and 45 ?a 8
a = 45 and 8 ?a 8
a = 45 or 89 ?a 125
Uma rotina que tem isto no código:
' Convert a Long to a Hex string ' Private Function LongToString(Num As Long) As String Dim a As Byte Dim b As Byte Dim c As Byte Dim d As Byte a = Num And &HFF& If a < 16 Then LongToString = "0" & Hex(a) Else LongToString = Hex(a) End If b = (Num And &HFF00&) 256 If b < 16 Then LongToString = LongToString & "0" & Hex(b) Else LongToString = LongToString & Hex(b) End If c = (Num And &HFF0000) 65536 If c < 16 Then LongToString = LongToString & "0" & Hex(c) Else LongToString = LongToString & Hex(c) End If If Num < 0 Then d = ((Num And &H7F000000) 16777216) Or &H80& Else d = (Num And &HFF000000) 16777216 End If If d < 16 Then LongToString = LongToString & "0" & Hex(d) Else LongToString = LongToString & Hex(d) End If End Function
http://www.vilmarbro.com.br
|
|
|
|
|
|
Ama
|
UBERLÂNDIA MG - BRASIL
|
|
Postada em 29/10/2005 19:11 hs
trata-se de cálculo em binário, ou seja converte-se o valor em binário e faz-se a lógica bit a bit 0x1=0 1x1=1 0000 0 0001 1 ---- 0000 001000 8 101101 45 ------ 001000 8 logica and bit a bit um passa 1 0 passa zero resulta 8 quanto ao fragmento de código me parece uma tecnica para extração do código ascii num sistema de 16 bits.
|
|
|
|
|
|
|
Ama
|
UBERLÂNDIA MG - BRASIL
|
|
Postada em 02/11/2005 19:29 hs
dúvida solucionadao clicke no cadeado = post encerrado!!!!!!!!!!!
|
|
|
|
|
|
Postada em 03/11/2005 07:17 hs
só mais uma pergunta: como ficar convertendo decimal para binário sem ter que usar a calculadora? tem alguma função no VB 6?
http://www.vilmarbro.com.br
|
|
|
|
Ama
|
UBERLÂNDIA MG - BRASIL
|
|
Postada em 12/11/2005 19:49 hs
Raramente vc precisa trabalhar com um número em notação binária caso vc precise comparar se um valor recebido ou a ser enviado é igual a um correspondente em binário basta fazer uma lógica AND do valor desconhecido com o valor correspondente ao binário esperado, caso contrário existe a função MOD e você terá que montar função para estrair binário do valor desejado.
Problema solucionado = click no cadeado para post encerrado!!!!!!!!!
|
|
|
|