JavaScript λÔËËã·û

JavaScript λÔËËã·û

ÔËËã·û Ãû³Æ ÃèÊö
& AND Èç¹ûÁ½Î»¶¼ÊÇ 1 ÔòÉèÖÃÿλΪ 1
| OR Èç¹ûÁ½Î»Ö®Ò»Îª 1 ÔòÉèÖÃÿλΪ 1
^ XOR Èç¹ûÁ½Î»Ö»ÓÐһλΪ 1 ÔòÉèÖÃÿλΪ 1
~ NOT ·´×ªËùÓÐλ
<< ÁãÌî³ä×óÎ»ÒÆ ͨ¹ý´ÓÓÒÍÆÈëÁãÏò×óÎ»ÒÆ£¬²¢Ê¹×î×ó±ßµÄλÍÑÂä¡£
>> ÓзûºÅÓÒÎ»ÒÆ ͨ¹ý´Ó×óÍÆÈë×î×óλµÄ¿½±´À´ÏòÓÒÎ»ÒÆ£¬²¢Ê¹×îÓұߵÄλÍÑÂä¡£
>>> ÁãÌî³äÓÒÎ»ÒÆ ͨ¹ý´Ó×óÍÆÈëÁãÀ´ÏòÓÒÎ»ÒÆ£¬²¢Ê¹×îÓұߵÄλÍÑÂä¡£

ʵÀý

²Ù×÷ ½á¹û µÈͬÓÚ ½á¹û
5 & 1 1 0101 & 0001 0001
5 | 1 5 0101 | 0001 0101
5 ^ 1 4 0101 ^ 0001 0100
~ 5 10 ~0101 1010
5 << 1 10 0101 << 1 1010
5 >> 1 2 0101 >> 1 0010
5 >>> 1 2 0101 >>> 1 0010

JavaScript ʹÓà 32 λ°´Î»ÔËËãÊý

JavaScript ½«Êý×ִ洢Ϊ 64 λ¸¡µãÊý£¬µ«ËùÓа´Î»ÔËËã¶¼ÒÔ 32 λ¶þ½øÖÆÊýÖ´ÐС£

ÔÚÖ´ÐÐλÔËËã֮ǰ£¬JavaScript ½«Êý×Öת»»Îª 32 λÓзûºÅÕûÊý¡£

Ö´Ðа´Î»²Ù×÷ºó£¬½á¹û½«×ª»»»Ø 64 λ JavaScript Êý¡£

ÉÏÃæµÄÀý×ÓʹÓà 4 λÎÞ·ûºÅ¶þ½øÖÆÊý¡£ËùÒÔ ~ 5 ·µ»Ø 10¡£

ÓÉÓÚ JavaScript ʹÓà 32 λÓзûºÅÕûÊý£¬JavaScript ½«·µ»Ø -6¡£

00000000000000000000000000000101 (5)

11111111111111111111111111111010 (~5 = -6)

ÓзûºÅÕûÊýʹÓÃ×î×ó±ßµÄλ×÷Ϊ¼õºÅ¡£

λÔËËã AND

µ±¶ÔÒ»¶ÔÊýλִÐÐλÔËËã AND ʱ£¬Èç¹ûÊýλ¾ùΪ 1 Ôò·µ»Ø 1¡£

µ¥Î»Ê¾Àý£º

ÔËËã ½á¹û
0 & 0 0
0 & 1 0
1 & 0 0
1 & 1 1

ËÄλʾÀý£º

ÔËËã ½á¹û
1111 & 0000 0000
1111 & 0001 0001
1111 & 0010 0010
1111 & 0100 0100

λÔËËã OR

µ±¶ÔÒ»¶ÔÊýλִÐÐλÔËËã OR ʱ£¬Èç¹ûÆäÖÐһλÊÇ 1 Ôò·µ»Ø 1£º

µ¥Î»Ê¾Àý

ÔËËã ½á¹û
0 | 0 0
0 | 1 1
1 | 0 1
1 | 1 1

ËÄλÔËË㣺

²Ù×÷ ½á¹û
1111 | 0000 1111
1111 | 0001 1111
1111 | 0010 1111
1111 | 0100 1111

λÔËËã XOR

µ±¶ÔÒ»¶ÔÊýλ½øÐÐλÔËËã XOR ʱ£¬Èç¹ûÊýλÊDz»Í¬µÄÔò·µ»Ø 1£º

µ¥Î»Ê¾Àý£º

ÔËËã ½á¹û
0 ^ 0 0
0 ^ 1 1
1 ^ 0 1
1 ^ 1 0

ËÄλʾÀý£º

ÔËËã ½á¹û
1111 ^ 0000 1111
1111 ^ 0001 1110
1111 ^ 0010 1101
1111 ^ 0100 1011

JavaScript λÔËËã AND (&)

Èç¹ûλÊý¶¼ÊÇ 1£¬ÔòλÔËËã AND ·µ»Ø 1£º

Ê®½øÖÆ ¶þ½øÖÆ
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 & 1 00000000000000000000000000000001 (1)

ʵÀý

var x = 5 & 1;

Ç××ÔÊÔÒ»ÊÔ

JavaScript λÔËËã OR (|)

Èç¹ûÊýλ֮һÊÇ 1£¬ÔòλÔËËã OR ·µ»Ø 1£º

Ê®½øÖÆ ¶þ½øÖÆ
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 | 1 00000000000000000000000000000101 (5)

ʵÀý

var x = 5 | 1;

Ç××ÔÊÔÒ»ÊÔ

JavaScript λÔËËã XOR (^)

Èç¹ûÊýλÊDz»Í¬µÄ£¬Ôò XOR ·µ»Ø 1£º

Ê®½øÖÆ ¶þ½øÖÆ
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 ^ 1 00000000000000000000000000000100 (4)

ʵÀý

var x = 5 ^ 1;

Ç××ÔÊÔÒ»ÊÔ

JavaScript λÔËËã NOT (~)

Ê®½øÖÆ ¶þ½øÖÆ
5 00000000000000000000000000000101
~5 11111111111111111111111111111010 (-6)

ʵÀý

var x = ~5;

Ç××ÔÊÔÒ»ÊÔ

JavaScript£¨ÁãÌî³ä£©Î»ÔËËã×óÒÆ£¨<<£©

ÕâÊÇÁãÌî³äµÄ×óÒÆ¡£Ò»¸ö»ò¶à¸öÁãÊýλ´ÓÓÒ±»ÍÆÈ룬×î×ó²àµÄÊýλ±»ÒƳý£º

Ê®½øÖÆ ¶þ½øÖÆ
5 00000000000000000000000000000101
5 << 1 00000000000000000000000000001010 (10)

ʵÀý

var x = 5 << 1;

Ç××ÔÊÔÒ»ÊÔ

JavaScript£¨ÓзûºÅ£©Î»ÔËËãÓÒÒÆ£¨>>£©

ÕâÊDZ£Áô·ûºÅµÄÓÒÒÆ¡£×î×ó²àµÄÊýλ±»´Ó×ó²àÍÆÈ룬×îÓÒ²àµÄÊýλ±»ÒƳö£º

Ê®½øÖÆ ¶þ½øÖÆ
-5 11111111111111111111111111111011
-5 >> 1 11111111111111111111111111111101 (-3)

ʵÀý

var x = -5 >> 1;

Ç××ÔÊÔÒ»ÊÔ

JavaScript£¨ÁãÌî³ä£©ÓÒÒÆ£¨>>>£©

ÕâÊÇÁãÌî³äµÄÓÒÒÆ¡£Ò»¸ö»ò¶à¸öÁãÊýλ´Ó×ó²à±»ÍÆÈ룬×îÓÒ²àµÄÊýλ±»ÒƳö£º

Ê®½øÖÆ ¶þ½øÖÆ
5 00000000000000000000000000000101
5 >>> 1 00000000000000000000000000000010 (2)

ʵÀý

var x = 5 >>> 1;

Ç××ÔÊÔÒ»ÊÔ

32-bit ÓзûºÅÕûÊý£¨¶þ½øÖÆÊý£©

½öÉèÖÃһλµÄ 32 λÕûÊýºÜºÃÀí½â£º

¶þ½øÖƱíʾ Ê®½øÖÆÖµ
00000000000000000000000000000001 1
00000000000000000000000000000010 2
00000000000000000000000000000100 4
00000000000000000000000000001000 8
00000000000000000000000000010000 16
00000000000000000000000000100000 32
00000000000000000000000001000000 64

¶àÉèÖÃһЩÊýλ½ÒʾÁ˶þ½øÖƵÄģʽ£º

¶þ½øÖƱíʾ Ê®½øÖÆÖµ
00000000000000000000000000000101 5 (4 + 1)
00000000000000000000000000101000 40 (32 + 8)
00000000000000000000000000101101 45 (32 + 8 + 4 + 1)

¸ºÊýÊÇÕýÊýµÄ¶þ½øÖƲ¹Âë¼Ó 1£º

¶þ½øÖƱíʾ Ê®½øÖÆÖµ
00000000000000000000000000000101 5
11111111111111111111111111111011 -5
00000000000000000000000000101000 40
11111111111111111111111111011000 -40
11111111111111111111111111011001 -41

°ÑÊ®½øÖÆ×ª»»Îª¶þ½øÖÆ

ʵÀý

function dec2bin(dec){
    return (dec >>> 0).toString(2);
}

Ç××ÔÊÔÒ»ÊÔ

°Ñ¶þ½øÖÆ×ª»»ÎªÊ®½øÖÆ

ʵÀý

function bin2dec(bin){
    return parseInt(bin, 2).toString(10);
}

Ç××ÔÊÔÒ»ÊÔ

VUE