12 Stimmen

Bitweise Operationen in BC?

$ bc
BC> ibase=2
BC> 110&101                     // wanna get 100
(standar_in) 8: syntax error

Wikipedia teilt mit, dass es sich um die Operationen "|, & und ^" handelt. Es kann sein, dass sie nur in bestimmten BC-Typen funktionieren oder ich habe etwas falsch verstanden.

12voto

Michael Mrozek Punkte 160867

Diese Betreiber sind im Abschnitt Fehlende" Operatoren im Vergleich zu C der mit "... sind in POSIX bc nicht verfügbar" endet.

6voto

user3000327 Punkte 89

Obwohl bc es nicht tut, können Sie die arithmetische Expansion direkt im Terminal verwenden, wenn Sie bash benutzen.

Für die XOR-Verknüpfung von 44 und 61 können Sie Folgendes tun:

echo $((44^61))

Wenn Sie den Binärcode verwenden wollen, dann:

echo $((2#110^2#101))

Voir Numerische Konstanten für die Änderung der Basis.

Voir bitweise Operatoren um die verfügbaren Betreiber zu sehen.

1voto

ergosys Punkte 45265

Der Wikipedia-Artikel ist ziemlich klar, dass diese Ops weder in POSIX bc noch in gnu bc enthalten sind. Auch in der Manpage werden sie nicht erwähnt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X