On Thursday, 2 July 2015 at 11:26:24 UTC, Robert burner Schadek wrote:
On Thursday, 2 July 2015 at 00:29:46 UTC, rsw0x wrote:
all bitwise ops except for shifting are fundamental math operators just like addition and subtraction if you view an integer as a bitstring(which is what it is...)

I must have missed something in my math classes.

"Like the natural numbers, Z is closed under the operations of addition and multiplication" [1]

build in Integer are not really closed, but close enough.
No mentioning of shift operations though.

[1] https://en.wikipedia.org/wiki/Integer

I don't see why the closed-ness of the integers under an operation should determine whether it makes the cut or not, but if that's the standard:

The built-in integer types are truly closed under the bitwise operators `~`, `&`, `|`, and `^`, with no overflow, underflow, or undefined combinations.

In contrast, unary `-` can overflow, while binary `+`, `-`, and `*` can all overflow or underflow.

`<<` and `>>` are not closed, but they are conceptually identical to `* 2^^` and `/ 2^^`, respectively. Their invalid input combinations can be handled the same way.

Reply via email to