-
Notifications
You must be signed in to change notification settings - Fork 0
mattsan/BitOperation
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
bits operating classes
written by MATSUMOTO Eiji
from March 2, 2010
0. Basis
include file : Bits.h
namespace : emattsan::bits
1. Integer types of specified number of bits
Bits<4, signed> s; // signed 4 bit integer (-8..7)
Bits<4> u; // (or Bits<4, unsigned>) unsigned 4 bit integer (0..15)
s = 7; // s => 7
s = 8; // s => -8
s = 15; // s => -1
s = 16; // s => 0
u = 7; // u => 7
u = 8; // u => 8
u = 15; // u => 15
u = 16; // u => 0
2. Join
Bits<4, signed> s(1); // s => 1 ( 0001b )
BIts<4> u(8); // u => 8 ( 1000b )
int n = (s, u); // n => 24 ( 18h / 00011000b )
int n = (s, s, s); // n => 265 ( 111h / 000100010001b )
(s, n) = 0x5a; // s => 5, n = 10 ( 0ah )
3. Reserved bits
Bits<4, signed> s(1); // s => 1 ( 0001b )
Bits<4> u(8); // u => 8 ( 1000b )
int n = (s, reserve<2>, u); // n => 72 ( 048h / 0001001000b )
(s, reserve<2>, u) = 0xff; // s => 3 ( 0011b), (2 reserved bits discarded), u => 15 ( 1111b ),
<<EOF>>About
operating bits classes
Resources
Stars
Watchers
Forks
Packages 0
No packages published