電子書籍の厳選無料作品が豊富!

2進数で表記された2つの数字を以下の演算で別の値を出す方法を考えています

その演算は同桁の数字が0と0なら0を
1と0,0と1なら1を
1,1も1
です。

010 と011 なら
1桁目が0、1なので1
2桁目は1,1なので1
3桁目は0,0なので0
となり 011 を返す


同桁の数字が0と0なら0を
1と0,0と1も0を
1,1は1
というバージョンも考えるのですが

エクセルでこのような演算を考えるには
関数であれVBAであれ
まず文字列としてleft() とか right() mid()を使って同桁の数字を取り出し
それを数値に直して計算し、3桁目*4+2桁*2+1桁 をして2進数表記にすればいいでしょうか?

それよりもっと楽なやり方はあるでしょうか?

お願いいたします

A 回答 (2件)

使ってるExcelが2013かそれより新しければ、ビット演算関数があるので一発です。

それより古いバージョンではVBAを使うか、1桁ごとに分解して演算するしかないですが。
「特殊な演算」の回答画像2
    • good
    • 1

ビット毎のOrですよね?



普通にOrを使用すれば良いと思います。
Andも同様。

MsgBox 1 Or 1 '1
MsgBox 2 Or 1 '3
MsgBox 4 Or 1 '5
MsgBox 4 Or 2 '6

VBA ビット演算
https://www.tipsfound.com/vba/02018
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!