View source code
Display the source code in core/bitop.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Function core.bitop.ror
Bitwise rotate value
left (rol
) or right (ror
) by
count
bit positions.
T ror(T)
(
in T value,
in uint count
) pure
if (__traits(isIntegral, T) && __traits(isUnsigned, T));
T ror(uint count, T)
(
in T value
) pure
if (__traits(isIntegral, T) && __traits(isUnsigned, T));
Example
ubyte a = 0b10101010U;
ulong b = ulong .max;
writeln(rol(a, 1)); // 0b01010101
writeln(ror(a, 1)); // 0b01010101
writeln(rol(a, 3)); // 0b01010101
writeln(ror(a, 3)); // 0b01010101
writeln(rol(a, 0)); // a
writeln(ror(a, 0)); // a
writeln(rol(b, 63)); // ulong.max
writeln(ror(b, 63)); // ulong.max
writeln(rol!3(a)); // 0b01010101
writeln(ror!3(a)); // 0b01010101
Authors
Don Clugston, Sean Kelly, Walter Bright, Alex Rønne Petersen, Thomas Stuart Bockman
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.