USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Qual lógica de operadores lógicos ...?
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
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
Pontos: 2843
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.
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 31/10/2005 06:57 hs         
ok!
Emoções

http://www.vilmarbro.com.br
     
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
Postada em 02/11/2005 19:29 hs         
dúvida solucionadao clicke no cadeado = post encerrado!!!!!!!!!!!
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
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
Pontos: 2843
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!!!!!!!!!
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página