Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
41
Task/Bitwise-operations/XBasic/bitwise-operations.basic
Normal file
41
Task/Bitwise-operations/XBasic/bitwise-operations.basic
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
PROGRAM "bitwise"
|
||||
|
||||
DECLARE FUNCTION Entry()
|
||||
INTERNAL FUNCTION ULONG Rotr(ULONG x, ULONG s)
|
||||
|
||||
FUNCTION Entry()
|
||||
SLONG a, b
|
||||
ULONG ua, ub
|
||||
a = 21
|
||||
b = 3
|
||||
ua = a
|
||||
ub = b
|
||||
PRINT
|
||||
PRINT "= Decimal ="
|
||||
PRINT LTRIM$(STR$(a)); " AND"; b; ":"; a & b ' also: a AND b
|
||||
PRINT LTRIM$(STR$(a)); " OR"; b; ":"; a | b ' also: a OR b
|
||||
PRINT LTRIM$(STR$(a)); " XOR"; b; ":"; a ^ b' also: a XOR b
|
||||
PRINT "NOT"; a; ":"; ~a ' also: NOT a
|
||||
PRINT LTRIM$(STR$(a)); " <<<"; b; ":"; a <<< b ' arithmetic left shift
|
||||
PRINT LTRIM$(STR$(a)); " >>>"; b; ":"; a >>> b ' arithmetic right shift
|
||||
PRINT LTRIM$(STR$(ua)); " <<"; b; ":"; ua << b ' bitwise left shift
|
||||
PRINT LTRIM$(STR$(ua)); " >>"; b; ":"; ua >> b ' bitwise right shift
|
||||
PRINT LTRIM$(STR$(ua)); " rotr"; ub; ":"; Rotr(ua, ub)
|
||||
PRINT
|
||||
PRINT "= Binary ="
|
||||
PRINT BIN$(a); " AND "; BIN$(b); ": "; BIN$(a & b)
|
||||
PRINT BIN$(a); " OR "; BIN$(b); ": "; BIN$(a | b)
|
||||
PRINT BIN$(a); " XOR "; BIN$(b); ": "; BIN$(a ^ b)
|
||||
PRINT "NOT "; BIN$(a); ": "; BIN$(~a)
|
||||
PRINT BIN$(a); " <<< "; BIN$(b); ": "; BIN$(a <<< b)
|
||||
PRINT BIN$(a); " >>> "; BIN$(b); ": "; BIN$(a >>> b)
|
||||
PRINT BIN$(ua); " << "; BIN$(b); ": "; BIN$(ua << b)
|
||||
PRINT BIN$(ua); " >> "; BIN$(b); ": "; BIN$(ua >> b)
|
||||
PRINT BIN$(ua); " Rotr "; BIN$(ub); ": "; BIN$(Rotr(ua, ub))
|
||||
END FUNCTION
|
||||
|
||||
' Rotate x to the right by s bits
|
||||
FUNCTION ULONG Rotr(ULONG x, ULONG s)
|
||||
RETURN (x >> s) | (x << (SIZE(ULONG) * 8 - s))
|
||||
END FUNCTION
|
||||
END PROGRAM
|
||||
Loading…
Add table
Add a link
Reference in a new issue