Unsigned char
From Just Solve the File Format Problem
(Difference between revisions)
(Created page with "{{FormatInfo | name = unsigned char | formattype = electronic | subcat = Data types | subcat2 = C++ data types | subcat3 = | subcat4 ...") |
|||
Line 37: | Line 37: | ||
Operation 255+1 will likely cause a "roll over" and the result will be 0, but it is unwise to count on that when writing multi-architecture code, as it is possible to define byte in a processor to be more than 8 bits. | Operation 255+1 will likely cause a "roll over" and the result will be 0, but it is unwise to count on that when writing multi-architecture code, as it is possible to define byte in a processor to be more than 8 bits. | ||
− | |||
− | |||
− | |||
==Other C++ datatypes of the same size== | ==Other C++ datatypes of the same size== |
Revision as of 12:47, 12 May 2015
signed char is the smallest unsigned integer type in C++, it often gets typedef-ed as "byte" (alternatively people use signed char for that reason) because it uses one byte of memory (depending upon what architecture defines it as, but no less than 8 bits). The range of values that can definitely be stored in this type is 0 – 255.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | value |
---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 127 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
Operation 255+1 will likely cause a "roll over" and the result will be 0, but it is unwise to count on that when writing multi-architecture code, as it is possible to define byte in a processor to be more than 8 bits.
Other C++ datatypes of the same size
Other C++ data types storing unsigned integers
- unsigned short no less than 16 bits, no less than char
- unsigned (int) no less than 16 bits, no less than short
- unsigned long no less than 32 bits, no less than int
- unsigned long long no less than 64 bits, no less than long