Jump to content

Bitwise operations: Difference between revisions

→‎{{header|OCaml}}: ++ gnu octave
(→‎{{header|Visual Basic .NET}}: ++ x86 asm (this task belongs to cpus, really:D))
(→‎{{header|OCaml}}: ++ gnu octave)
Line 511:
Printf.printf "a lsr b: %d\n" (a lsr b); (* logical right shift *)
;;</lang>
 
=={{header|Octave}}==
 
There's no arithmetic shift nor rotation (and the not can be done through a xor)
 
<lang octave>function bitops(a, b)
s = sprintf("%s %%s %s = %%s\n", dec2bin(a), dec2bin(b));
printf(s, "or", dec2bin(bitor(a, b)));
printf(s, "and", dec2bin(bitand(a, b)));
printf(s, "xor", dec2bin(bitxor(a, b)));
printf(s, "left shift", dec2bin(bitshift(a, abs(b))));
printf(s, "right shift", dec2bin(bitshift(a, -abs(b))));
printf("simul not %s = %s", dec2bin(a), dec2bin(bitxor(a, 0xffffffff)));
endfunction
 
bitops(0x1e, 0x3);</lang>
 
=={{header|Pascal}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.