Tipo Boolean no VB.NET Outubro 11, 2007
Posted by Daniel Ferreira in Dicas.Tags: cast, types, vb.net
trackback
Para evitar que muitas pessoas percam tempo assim como eu perdi tentando descobrir o motivo de um erro místico que estava acontecendo comigo, segue uma curiosidade:
No VB.NET, ao converter o tipo Boolean para Integer, o que acontece é o seguinte:
CInt(True) = -1
CInt(False) = 0
O que era de se esperar, assim como na maioria das linguagens, era que True=1 e False=0.
Bem, ainda estou pesquisando o porquê que acontece isso no VB.NET…. Quem tiver informações, favor divulgar.
Abraços!






Eu estou usando um inglês ao tradutor portuguese. Eu diria que aquele sobre a metade das línguas de programação atribui = -1 verdadeiro e a outra metade = de 1 verdadeiro. A razão para = -1 verdadeiro tem que dívida com a respresentação binária dos valores. Se nós dissermos que = 0 falso, então nós podem definir verdadeiro = nao falso. Não 0 = -1 para inteiros assinados em dois processadores do complemento. No hexadecimal, o vaue é &HFFFFFFFF (todos os bocados se ajustam a 1)