Skip to main content

Literals of Base numbers in Java ( Octal , Hexadecimal, Decimal)

1. Overview:

A literal key indicates the compiler how to interpret the value of the given data type, for numbers we can calculate the value by using Octal representation or hexadecimal representation but just typing out a hexadecimal value to an int will throw us an error because the compiler has no idea how to handle it but if we assign the java specified prefix for the required bases with some literals then the compiler will not throw us any error as it understands how to interpret the value. 

Base Litrals Values Example Eg. Value
Decimal none 0-9 int x = 10; x is 10
Octal 0 (zero) as the prefix 0-7 int x = 12; x is 10
Hexadecimal 0x or (zero) along with an x 0-9 and a-f or A-F int x = 0XA; x is 10
  1. Binary or Base(2)

    Allowed Digits 0 and 1
    int i = 10; and now the variable i has value 10.

    int n = 125;
    // n has the value 125

  2. Decimal or Base(10)

    Allowed Digits 0 to 9
    Decimal does not require any spcial litrals to represent its base as the default base is 10, so the value is taken exactly as the raw value from the code. < br/> int i = 10; and now the variable i has value 10.

    int n = 125;
    // n has the value 125

  3. Octal or Base(8)

    Allowed Digits : 0 to 7
    Prefix : 0(zero)
    The first doubt that arises seeing the number 0-7 and calling it octal or base 8 confused me and I'm sure there are many out there like me so here there are 8 digits including 0 so it has the name octal or base 8, to represent a number on octal in java a literal 0 (zero) must be prefixed before the octal value.
    for example int i = 0377; and now the variable I has value 255.

    int n = 0377;
    // n has the value 255

  4. Hexadecimal or Base(16)

    Allowed Digits : 0 to 9 and a-f or A-F
    Prefix : 0x or 0X (zero) along with an x or X
    The hexadecimal numbers can be assigned to any primitives using the literal 0(zero) and an x or X here the case is not important as the compiler takes it either way.
    for example int i = 0xa; and now the variable i has value 10.

    int n = 0xb;
    // n has the value 11

Some Important points

  • The default base is decimal.
  • The 0 is the prefix for both octal and hexadecimal but the hexadecimal needs an x after the 0
    here x is case insensitive.
  • Hexadecimal characters a-z are case insensitive so a-f or A-F makes no difference to the compiler.

Comments

Popular posts from this blog

Basics of Room Persistence Library in Android #RP1

Room is a library built on top of SQLite that provides a more convenient and structured way to manage your app's local database. It lets you work with your data as Kotlin objects (data classes) instead of manually formulating them using SQL queries, which itself is a tedious task prone to many errors.   It also simplifies interactions with the database with many great features like validating the queries, seamless integration with Kotlin Flow, paging, LiveData, and many more. These features make Room the most preferred option for offline-first apps, as it expedites the process and helps us to avoid issues early in the development cycle. Since Google has the best article for setting up, I will be skipping the setup Dependency setup: Official Guide on Setting up Room Dependencies and plugins   Please do ensure you follow the above guide and then sync and build your project successfully, as it will help you to try out the components yourself. In t...

Implementing In-app and pre-locale language selection in Android

Modern Android App Architecture One of the essential features for a globalized app is the ability to provide users with the option to choose their preferred language within the application. In this blog post, we will guide you through the process of implementing in-app language selection in an Android app. Step 1: Create Locale String Resource Create a string resource file for each respective locale by navigating to res > new > Android Resource File . Select Locale and create a string.xml file. Copy and paste the translations of your app content into these files. Step 2: Configure Locale Preferences In the res/xml folder, create a new file called locales_config.xml and specify the locales of your choice. for example look at the following code: <?xml version="1.0" encoding="utf-8"?> <locale-config xmlns:android="http://schemas.android.com/apk/res/android"> <locale andro...

Search Textfield with options and clear button ideal for app TopBar- Jetpack Compose Component

In this blog post, we'll explore a simple yet effective implementation of a search bar in Jetpack Compose. The provided SearchTextField composable offers a basic text field with a placeholder, suitable for building the app top bar. Screen Shot of the Component from my Jot-app The following code can be used to your project directly and it should work as expected, the idea was to have a search bar for a top app which can also hst the buttons on either ends,do check the code below If you have any suggestions or improvements for the code, let's have a conversation below. Your feedback is valuable to me