Check if a number is in given base or not

Given a number as string and a base, check if given number is in given base or not.

Examples:

Input : str = "1010", base = 2
Output : Yes

Input : str = "1015", base = 2
Output : No

Input : str = "AF87", base = 16
Output : Yes

The idea is to one by one check if all digits are in given base range. If yes, return true, else return false.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to check if given 
// number is in given base or not.
#include <cstring>
#include <iostream>
using namespace std;
  
bool isInGivenBase(string str, int base)
{
    // Allowed bases are till 16 (Hexadecimal)
    if (base > 16)
    return false;
  
    // If base is below or equal to 10, then all
    // digits should be from 0 to 9.
    else if (base <= 10) 
    {
    for (int i = 0; i < str.length(); i++)
        if (!(str[i] >= '0' and
             str[i] < ('0' + base)))
            return false;
    }
  
    // If base is below or equal to 16, then all
    // digits should be from 0 to 9 or from 'A' 
    else
    {
    for (int i = 0; i < str.length(); i++)
        if (! ((str[i] >= '0' &&
                str[i] < ('0' + base)) ||                                 
                (str[i] >= 'A' &&
                 str[i] < ('A' + base - 10))
            ))                 
            return false;
    }
    return true
}
  
// Driver code
int main()
{
    string str = "AF87";
    if (isInGivenBase(str, 16))
    cout << "Yes";
    else
    cout << "No";
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to check if given 
// number is in given base or not.
class Geeks {
      
static boolean isInGivenBase(String str, int base)
{
      
    // Allowed bases are till 16 (Hexadecimal)
    if (base > 16)
    return false;
  
    // If base is below or equal to 10, then all
    // digits should be from 0 to 9.
    else if (base <= 10
    {
    for (int i = 0; i < str.length(); i++)
        if (!(str.charAt(i) >= '0' &&
              str.charAt(i) < ('0' + base)))
            return false;
    }
  
    // If base is below or equal to 16, then all
    // digits should be from 0 to 9 or from 'A' 
    else
    {
    for (int i = 0; i < str.length(); i++)
        if (! ((str.charAt(i) >= '0' &&
                str.charAt(i) < ('0' + base)) ||                             
                (str.charAt(i) >= 'A' && 
                 str.charAt(i) < ('A' + base - 10))
            ))             
            return false;
    }
    return true
}
  
// Driver Class
public static void main(String args[])
  
{
    String str = "AF87";
    if (isInGivenBase(str, 16) == true)
    System.out.println("Yes");
    else
    System.out.println("No");
      
}
}
  
// This code is contributed by ankita_saini

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to check if given 
// number is in given base or not.
using System;
  
class GFG 
{
static bool isInGivenBase(String str, 
                          int bas)
{
      
    // Allowed base are
    // till 16 (Hexadecimal)
    if (bas > 16)
    return false;
  
    // If bas is below or equal 
    // to 10, then all digits
    // should be from 0 to 9.
    else if (bas <= 10) 
    {
    for (int i = 0; i < str.Length; i++)
        if (!(str[i] >= '0' &&
              str[i] < ('0' + bas)))
            return false;
    }
  
    // If base is below or equal 
    // to 16, then all digits should 
    // be from 0 to 9 or from 'A' 
    else
    {
    for (int i = 0; i < str.Length; i++)
        if (! ((str[i] >= '0' &&
                str[i] < ('0' + bas)) ||                         
               (str[i] >= 'A' && 
                str[i] < ('A' + bas - 10))
            ))         
            return false;
    }
    return true
}
  
// Driver Code
public static void Main(String []args)
{
    String str = "AF87";
    if (isInGivenBase(str, 16) == true)
    Console.WriteLine("Yes");
    else
    Console.WriteLine("No");
}
}
  
// This code is contributed 
// by ankita_saini

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to check if given 
// number is in given base or not. 
  
function isInGivenBase($str, $base
    // Allowed bases are till 
    // 16 (Hexadecimal) 
    if ($base > 16) 
    return false; 
  
    // If base is below or equal to 
    // 10, then all digits should 
    // be from 0 to 9. 
    else if ($base <= 10) 
    
    for ($i = 0; $i < strlen($str); $i++) 
        if (!($str[$i] >= '0' and
            $str[$i] < ('0' + $base))) 
            return false; 
    
  
    // If base is below or equal to 16, 
    // then all digits should be from 
    // 0 to 9 or from 'A' 
    else
    
    for ($i = 0; $i < strlen($str); $i++) 
        if (! (($str[$i] >= '0' && 
                $str[$i] < ('0' + $base)) ||                             
               ($str[$i] >= 'A' && 
                $str[$i] < ('A' + $base - 10)) 
            ))             
            return false; 
    
    return true; 
  
// Driver code 
$str = "AF87"
  
if (isInGivenBase($str, 16)) 
    echo "Yes"
else
    echo "No"
  
// This code is contributed by jit_t
?>

chevron_right


Output:

Yes


My Personal Notes arrow_drop_up


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.