Octal literals in C++

When working with numbers in C++, you have various ways to represent them, such as decimal, hexadecimal, and octal. In this blog post, we’ll focus on octal literals and how they can be used in C++.

What is an Octal Literal?

An octal literal is a way to represent numbers in base 8. It uses the digits from 0 to 7. In C++, octal literals are prefixed with a leading zero ‘0’ followed by the octal digits.

Here’s an example of an octal literal:

int octalNum = 0123;

In this example, 0123 is an octal literal representing the decimal number 83.

Using Octal Literals in C++

Octal literals can be used to initialize or assign values to variables of numeric types in C++. For example:

int octalNum = 0123;

In this case, octalNum is assigned the value 83.

You can also use octal literals with other numeric types, such as long, unsigned int, and float. Here’s an example:

long octalLong = 077;
unsigned int octalUnsigned = 036;
float octalFloat = 0123;

In these examples, the variables octalLong, octalUnsigned, and octalFloat are initialized with the decimal values 63, 30, and 83 respectively.

Converting Octal Literals to Decimal

If you want to convert an octal literal to its decimal representation, you can use the std::oct manipulator provided by the C++ Standard Library. Here’s an example:

#include <iostream>
#include <iomanip>

int main() {
    int octalNum = 0123;
    int decimalNum = std::oct << octalNum;
    std::cout << "Octal: " << std::oct << octalNum << std::endl;
    std::cout << "Decimal: " << decimalNum << std::endl;
    return 0;
}

Running this program will output:

Octal: 83
Decimal: 83

In the example above, we use std::oct before octalNum to convert it to decimal and assign the result to decimalNum.

Conclusion

Octal literals provide a convenient way to represent numbers in base 8 in C++. You can use them to initialize or assign values to variables and convert them to decimal if needed. Understanding how to work with octal literals expands your options when dealing with numerical values in C++. Now you’re ready to harness the power of octal literals in your C++ programs!

#cpp #octal