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

Introduction to Primitives - Java

2. Overview: There are eight primitive data types byte, short, int, long, float, double boolean, char. These eight data types store values as raw instead of Objects these primitives help to save memory to a great extent and simplify other processes as they are directly stored in the stack. Data Type Size(in bits) Minimum Range Maximum Range byte 8 -128 127 short 16 -32768 32767 int 32 -2147483648 2147483647 long 64 -9223372036854775808 9223372036854775807 float 32 -3.4e38 to -1.4e-45 1.4e-45 to 3.4e38 double 64 -1.8e308 to -4.9e-324 4.9e-324 to 1.8e308 boolean 1 - - char 16 space 65535 byte A byte has the capacity of 8 bits or 1 byte and it can store numbers between -2 7 and 2 7 -1 or simply -128 to 127. This is very useful while deali...

Chocolate Feast - Problem Solving - Hacker Rank Solution.

The expectation is to find the total number of choclate one can consume by taking full advantage of the offer, Here there are 3 inputs n which holds the value of initial amount of money for buying choclate, c is the cost price of each candy if paid by cash and m is the exchange rate for the candy. Inputs n Initial cash to buy candy. c Coast of each candy if paid by cas.h m Exchange rate for a new candy in offer. The initial count of choclate will be the cash / coast and the wrappers in hand will be the same value of choclate, and from there we loop through until the wrap count is less than the exchange rate, inside the loop the choclate count will still hold the same fourmula as before but divided with exchange rate. The wrap count is the tricky part... the wrap will be wrap/ exchange rate(the no. choclate) + the remainder of this division(THIS IS VERY IMPORTANT) because for example if the count of wrapper is 3 and the exchange rate is 2 you can only buy 1 c...

Collection Interface - Java Collections Framework - DSA

Most people consider the collection as the root interface of Collections Framework and it is true to a great extent but another part of Collections Framework is Map Interface, we will see that later, Most Common methods which are applicable to all collections are defined in this interface for example add() to add an element, size() to get the size and much more, below is a table of most common methods. Hierarchey of the Collection Interface. The Parent of Collection Interface is Iterator Interface and the Collection is base class for List Interface, Set Interface and Queue Interface, the respective classes which impliments either of the sub classes will also implement the defined methods from the Collection Interface, below are some of the commonly used methods. Defined Methods: Method Description add() This method returns a Boolean value true if it inserts the specified element in this collection....