In C and C++, you can have 3 ways of write a number:
- Using Decimal (base-10) notation
Very nice for general numbers. It’s easy to read and maintain. Read about decimal notation here.
- Using Hexadecimal (base-16) notation
Very efficient for flags especially if you need to see how bits are organized. Plus, it is very popular in C and C++. Read about hexadecimal notation here.
- Using Octal (base-8) notation
Not very friendly for most developers and for team mates of course. Read about octal notation here.
Unfortunately, you cannot write a binary number directly in your code. Convert it to any of the three notations first. Read about binary notation here.
Just as you write number on papers, you can write it in your code.
int i = 100;
And you can use the format specifier %d to display the number as decimal using the printf function and its €œsisters€ (e.g. wsprinf in Windows).printf("%d", i);
Just convert the number to hex and write it prefixed with 0x.int i = 0x64;
And you can use the format specifier %x to display the number as hexadecimal as small letters. And %X to display it as capital letters.printf("0x%x", i);
Convert the number to oct and write it prefixed with 0.int i = 0144;
Of course, you can use printf to display octal numbers. And this is done through the %o format specifier.printf("%o", i);
Beware while reading octal numbers. Octal representation is very similar to decimal. 0144 equals to 100 in decimal notation and 0x64 in hexadecimal.
Unfortunately, you can’t use printf to display numbers in binary notation. You can make your own routine that accomplishes that.
- Converting between color decimal and hexadecimal representation
- A Short Speech about Unions
- Refactoring: Magic Numbers
- An extensive list of .NET-aware languages
- Microsoft Code Analysis Tool .NET (CAT.NET) v1
- Visual Basic 6.0 to be Supported on Windows 7
- Bad Practices: Locking on Non-shared Objects in Multi-threaded Applications
- Marshaling Unions