以前、C#でのビット演算を紹介したのですが
NodeやVBAでもやってみましたので
比較してみました。
C#でのビット演算は以下の記事でもう少し詳しく紹介しています。
論理積
二つの入力の両方が1のときのみ出力が1となり
いずれか一方あるいは両方が0の場合は0となる。
var result = num1 & num2
Node
var result = num1 & num2;
Dim result As Integer result = num1 And num2
論理和
二つの入力の両方が0のときのみ出力が0となり
いずれか一方あるいは両方が1の場合は1となる。
var result = num1 | num2
Node
var result = num1 | num2;
Dim result As Integer result = num1 Or num2
排他的論理和
二つの入力のいずれか一方が1のときのみ出力が1となり
両方が0もしくは両方が1の場合は0となる。
var result = num1 ^ num2
Node
var result = num1 ^ num2;
Dim result As Integer result = num1 Xor num2
数値を2進数で取得する
Convert.ToString(num, toBase:2)
Node
num.toString(2)
Private Function ConvertBinary(ByVal num As Integer) As Long Dim baseNum As Long: baseNum = 1 Dim result As Long: result = 0 Do result = result + (num Mod 2) * baseNum num = num \ 2 baseNum = baseNum * 10 If num <= 0 Then Exit Do End If Loop ConvertBinary = result End Function