Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
19
Task/Bitwise-operations/ALGOL-W/bitwise-operations.alg
Normal file
19
Task/Bitwise-operations/ALGOL-W/bitwise-operations.alg
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
% performs bitwise and, or, not, left-shift and right shift on the integers n1 and n2 %
|
||||
% Algol W does not have xor, arithmetic right shift, left rotate or right rotate %
|
||||
procedure bitOperations ( integer value n1, n2 ) ;
|
||||
begin
|
||||
bits b1, b2;
|
||||
% the Algol W bitwse operations operate on bits values, so we first convert the %
|
||||
% integers to bits values using the builtin bitstring procedure %
|
||||
% the results are converted back to integers using the builtin number procedure %
|
||||
% all Algol W bits and integers are 32 bits quantities %
|
||||
b1 := bitstring( n1 );
|
||||
b2 := bitstring( n2 );
|
||||
% perform the operaations and display the results as integers %
|
||||
write( n1, " and ", n2, " = ", number( b1 and b2 ) );
|
||||
write( n1, " or ", n2, " = ", number( b1 or b2 ) );
|
||||
write( " "
|
||||
, " not ", n1, " = ", number( not b1 ) );
|
||||
write( n1, " shl ", n2, " = ", number( b1 shl n2 ), " ( left-shift )" );
|
||||
write( n1, " shr ", n2, " = ", number( b1 shr n2 ), " ( right-shift )" )
|
||||
end bitOPerations ;
|
||||
Loading…
Add table
Add a link
Reference in a new issue