locked
BITWISE NOT Operador RRS feed

  • Pregunta

  • BITWISE NOT es inverso si es 1 es 0 y si es 0 es 1

    Pero si lo que quiero saber por que hay tantos 0000 0000 a la izquierda?

     

    The binary representation of 170 (a_int_value or A, below) is 0000 0000 1010 1010. Performing the bitwise NOT operation on this value produces the binary result 0000 0000 0101 0101, which is decimal 85.

     (~A)  
         0000 0000 1010 1010
         -------------------
         0000 0000 0101 0101
    

    khauff
    martes, 18 de mayo de 2010 3:54

Respuestas

  • Hola.

    Porque es un int (por defecto es así) y se representa con esos cuatro grupos de ceros y unos que se corresponden con los 4 bytes que ocupa el tipo int. Si explícitamente lo declaras como tinyint (un byte, un grupo), te da otro resultado para ~170:

    declare @i tinyint
    select @i = 170
    select ~ @i
    Verás que devuelve 85.


    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    martes, 18 de mayo de 2010 7:11
    Moderador