জেভাস্ক্রিপ্ট বিট অপারেটর

জেভাস্ক্রিপ্ট বিট অপারেটর

ক্যালকুলেটর নাম বর্ণনা
& AND যদি দুই স্থানের মধ্যে উভয়ই 1 হয় তবে প্রত্যেক স্থান সেট করুন
| OR যদি দুই স্থানের মধ্যে একটি 1 হয় তবে প্রত্যেক স্থান সেট করুন
^ XOR যদি দুই স্থানের মধ্যে একটি একটি 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

জেভাস্ক্রিপ্ট 32 বিট বিট অপারেশন ব্যবহার করে

জেভাস্ক্রিপ্ট 64 বিট ফ্লোটিং পয়েন্ট সংখ্যা হিসাবে সংরক্ষণ করে, কিন্তু সমস্ত বিট অপারেশন 32 বিট বাইনারি সংখ্যা হিসাবে কার্যকর হয়。

বিট অপারেশন করার আগে, জেভাস্ক্রিপ্ট সংখ্যা 32 বিট সংজ্ঞায়িত সংখ্যায় পরিবর্তিত হবে。

বিট অপারেশন করার পর, ফলাফল 64 বিট জেভাস্ক্রিপ্ট সংখ্যায় পরিবর্তিত হবে。

উপরোক্ত উদাহরণ 4 বিট অসংজ্ঞায়িত বাইনারি সংখ্যা ব্যবহার করে। তাই ~ 5 10 ফিরিয়ে দেবে。

যেহেতু জেভাস্ক্রিপ্ট 32 বিট সংজ্ঞায়িত সংখ্যা ব্যবহার করে, জেভাস্ক্রিপ্ট -6 ফিরিয়ে দেবে。

00000000000000000000000000000101 (5)

11111111111111111111111111111010 (~5 = -6)

সংজ্ঞায়িত সংখ্যাকে সর্বশীর্ষ বিট হিসাবে নীচের বিট হিসাবে ব্যবহার করা হয়。

বিট অপারেশন এন্ড (&)

যদি একযোগে বিটসমূহকে বিট অপারেশন এন্ড (&) করা হয়, তবে যদি সব বিটসমূহ 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) করা হয়, তবে যদি বিটসমূহ ভিন্ন থাকে, তবে 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

জেভাস্ক্রিপ্ট বিট অপারেশন এন্ড (&)

যদি সব বিটসমূহ 1 হয়, তবে বিট অপারেশন এন্ড (&) 1 ফিরিয়ে দেয়:

সংখ্যা দ্বিগুণ
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 & 1 00000000000000000000000000000001 (1)

ইনস্ট্যান্স

var x = 5 & 1;

আপনার হাতে প্রয়াস করুন

জেভাস্ক্রিপ্ট বিট অপারেশন অর (|)

যদি কোনও সংখ্যা ১ হয়, তবে OR ফলাফল ১ হয়:

সংখ্যা দ্বিগুণ
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 | 1 00000000000000000000000000000101 (5)

ইনস্ট্যান্স

var x = 5 | 1;

আপনার হাতে প্রয়াস করুন

JavaScript স্থান ব্যবহারকারী XOR (^)

যদি সংখ্যা ভিন্ন হয়, তবে XOR ফলাফল ১ হয়:

সংখ্যা দ্বিগুণ
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 (সংজ্ঞায়িত) স্থান ব্যবহারকারী সরানো (>>)

এটি সংজ্ঞায়িত স্থানের ডানদিকের সরানো। সরানো হওয়া সবচেয়ে ডানদিকের সংখ্যা ডানদিকে সরানো হয়, সরানো হওয়া সবচেয়ে ডানদিকের সংখ্যা হয়ে যায়:

সংখ্যা দ্বিগুণ
-5 11111111111111111111111111111011
-5 >> 1 11111111111111111111111111111101 (-3)

ইনস্ট্যান্স

var x = -5 >> 1;

আপনার হাতে প্রয়াস করুন

JavaScript (শূন্যপূর্ণ) ডানদিকের সরানো (>>>)

এটি শূন্যপূর্ণ ডানদিকের সরানো। একটি বা একাধিক শূন্য সংখ্যা ডানদিকে সরানো হয়, সরানো হওয়া সবচেয়ে ডানদিকের সংখ্যা হয়ে যায়:

সংখ্যা দ্বিগুণ
5 00000000000000000000000000000101
5 >>> 1 00000000000000000000000000000010 (2)

ইনস্ট্যান্স

var x = 5 >>> 1;

আপনার হাতে প্রয়াস করুন

৩২-বিট সংজ্ঞায়িত ইন্টিজার (দ্বিগুণ সংখ্যা)

একটি স্থানের ৩২ বিট ইন্টিজার সহজ বোঝা যায়:

দ্বিস্তরীয় প্রকাশ দশস্তরীয় মান
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)

নেগাটিভ সংখ্যা হল পজিটিভ সংখ্যার বাইনারি কম্পমেন্স এবং ১ যোগ করা

দ্বিস্তরীয় প্রকাশ দশস্তরীয় মান
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);
}

আপনার হাতে প্রয়াস করুন