ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸಿ


ತೊಂದರೆ ಮಟ್ಟ ಸುಲಭ
ಆಗಾಗ್ಗೆ ಕೇಳಲಾಗುತ್ತದೆ ಫೇಸ್ಬುಕ್ ಮೈಕ್ರೋಸಾಫ್ಟ್
ಬಿಟ್ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್

ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸುವ ಸಮಸ್ಯೆ ನಮಗೆ ಒಂದು ಪೂರ್ಣಾಂಕವನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಂತರ ಕೊಟ್ಟಿರುವದನ್ನು ಪರಿವರ್ತಿಸಲು ಕೇಳುತ್ತದೆ ಪೂರ್ಣಾಂಕ ದಶಮಾಂಶ ಸಂಖ್ಯೆಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸಂಖ್ಯೆ ವ್ಯವಸ್ಥೆಗೆ. ಹೆಚ್ಚು ly ಪಚಾರಿಕವಾಗಿ, ಪ್ರಶ್ನೆಯು ಬೇಸ್ 10 ರಲ್ಲಿ ನೀಡಲಾದ ಪೂರ್ಣಾಂಕವನ್ನು ಬೇಸ್ 16 ಪ್ರಾತಿನಿಧ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸುವ ಅಗತ್ಯವಿದೆ. ನಾವು ಈಗಾಗಲೇ ಒಂದು ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಿದ್ದೇವೆ, ಅಲ್ಲಿ ನಮಗೆ ದಶಮಾಂಶ ಸಂಖ್ಯೆ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಸಂಖ್ಯೆಯನ್ನು ನೀಡಲಾಗಿದೆ. ಮತ್ತು ಅದನ್ನು ಬೇಸ್ 7 ಆಗಿ ಪರಿವರ್ತಿಸಬೇಕಾಗಿತ್ತು. ಆದ್ದರಿಂದ, ಮತ್ತಷ್ಟು ಮುಂದುವರಿಯುವ ಮೊದಲು, ಕೆಲವು ಉದಾಹರಣೆಗಳನ್ನು ನೋಡೋಣ.

ಉದಾಹರಣೆ

26
1a

ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸಿ

ವಿವರಣೆ: ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸಂಖ್ಯೆ ವ್ಯವಸ್ಥೆಯ ಬಗ್ಗೆ ತಿಳಿದಿದ್ದರೆ ಈ ಪರಿವರ್ತನೆ ಸುಲಭ. ಆದರೆ ನಿಮಗೆ ಇದರ ಅರಿವಿಲ್ಲದಿದ್ದರೆ, ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಯನ್ನು ಬೇಸ್ 16 ಪ್ರಾತಿನಿಧ್ಯವಾಗಿ ಪರಿವರ್ತಿಸಿ. ಪುನರಾವರ್ತಿತ ವಿಭಜನೆ ಮತ್ತು ಉಳಿದವನ್ನು ಸಂಗ್ರಹಿಸುವ ಮೂಲಕ ನಾವು ಅದನ್ನು ಮಾಡುತ್ತೇವೆ. ಗಮನಿಸಬೇಕಾದ ಒಂದು ವಿಷಯವೆಂದರೆ, 10 ಅನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸಂಕೇತದಲ್ಲಿ 'ಎ' ಬಳಸಿ ನಿರೂಪಿಸಲಾಗಿದೆ.

-1
ffffffff

ವಿವರಣೆ: 2 ಣಾತ್ಮಕ ಸಂಖ್ಯೆಗಳನ್ನು ಅವುಗಳ 1 ರ ಪೂರಕ ಸಂಕೇತವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗಿರುವುದರಿಂದ. ಅದರ 2 ಸೆ ಪೂರಕ ಸಂಕೇತದಲ್ಲಿನ -11111111111111111111111111111111 XNUMX ಆಗಿದೆ. ಆದ್ದರಿಂದ, ನಾವು ಇದನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತೇವೆ, ಅದು .ಟ್‌ಪುಟ್‌ನಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ.

ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸುವ ವಿಧಾನ

ಸಮಸ್ಯೆಯ ಆಳಕ್ಕೆ ಧುಮುಕುವ ಮೊದಲು ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸಿ. ಮೊದಲು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸಂಖ್ಯೆ ವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ ನಮ್ಮನ್ನು ಪರಿಚಯ ಮಾಡಿಕೊಳ್ಳೋಣ. ಆದ್ದರಿಂದ, ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸಂಖ್ಯೆಯ ವ್ಯವಸ್ಥೆಯು ದಶಮಾಂಶ ಸಂಖ್ಯೆಯ ವ್ಯವಸ್ಥೆಯಂತಿದೆ ಆದರೆ 10 ರಿಂದ 15 ಸಂಖ್ಯೆಗಳನ್ನು 'ಎ' ನಿಂದ 'ಎಫ್' ವರೆಗೆ ಲೋವರ್-ಕೇಸ್ ವರ್ಣಮಾಲೆಗಳನ್ನು ಬಳಸಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ, ನಾವು ದಶಮಾಂಶ ಸಂಖ್ಯೆಯ ವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಪೂರ್ಣಾಂಕವನ್ನು ಬೇಸ್ 16 ಪ್ರಾತಿನಿಧ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಬಹುದು. ಮತ್ತು ಪರಿವರ್ತನೆಯ ನಂತರ, ನಾವು 10 - 15 ಸಂಖ್ಯೆಗಳನ್ನು a - f ನೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತೇವೆ. ಆದರೆ ಏನು, ನಾವು negative ಣಾತ್ಮಕ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ಏನು ಮಾಡುತ್ತೇವೆ? Negative ಣಾತ್ಮಕ ಸಂಖ್ಯೆಗಳನ್ನು ಬೈನರಿ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ 2 ಸೆ ಪೂರಕ ಸಂಕೇತಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಿರುವುದರಿಂದ. ನಾವು ಸಹಿ ಮಾಡದ ಇಂಟ್‌ನಲ್ಲಿ ಸಂಖ್ಯೆಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಬೇಸ್ 16 ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತೇವೆ.

ಜಾವಾ ಭಾಷೆಯಲ್ಲಿನ ಕೋಡ್ ಸಹ ಅದೇ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ ಆದರೆ ಬಿಟ್ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ಬಳಸಿ ಸ್ವಲ್ಪ ವಿಭಿನ್ನ ರೀತಿಯಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ, ಮೊದಲು ನಾವು ಕೊಟ್ಟಿರುವ ಸಂಖ್ಯೆಯನ್ನು 15 ರೊಂದಿಗೆ ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ. ಈ ಕಾರ್ಯಾಚರಣೆಯು 16 ರೊಂದಿಗೆ ಮೋಡ್ ತೆಗೆದುಕೊಳ್ಳಲು ಸಮನಾಗಿರುತ್ತದೆ. ನಂತರ ಎಡ ಶಿಫ್ಟ್ ಅನ್ನು ಬಳಸುವುದು 16 ಅನ್ನು ಬಳಸುವ ವಿಭಾಗಕ್ಕೆ ಸಮಾನವಾಗಿರುತ್ತದೆ.

ಕೋಡ್

ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಸಿ ++ ಕೋಡ್

#include <bits/stdc++.h>
using namespace std;

const string decToHex = "0123456789abcdef";

string toHex(int n){
    if(n==0)
        return "0";
    unsigned int num = n;
    string ans = "";
    while(num > 0){
        ans = decToHex[num%16] + ans;
        num /= 16;
    }
    return ans;
}

int main(){
    cout<<toHex(26);
}
1a

ಸಂಖ್ಯೆಯನ್ನು ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಲೀಟ್‌ಕೋಡ್ ಪರಿಹಾರಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಜಾವಾ ಕೋಡ್

import java.util.*;
import java.lang.*;
import java.io.*;

class Solution
{
  public static String toHex(int n) {
        String decToHex = "0123456789abcdef";
        if(n==0)
            return "0";
        int num = n;
        String ans = "";
        while(num != 0){
            ans = decToHex.charAt(num&15) + ans;
            num = num >>> 4;
        }
        return ans;
    }
    
  public static void main (String[] args) throws java.lang.Exception
  {
    System.out.print(toHex(-1));
  }
}
ffffffff

ಸಂಕೀರ್ಣತೆ ವಿಶ್ಲೇಷಣೆ

ಸಮಯ ಸಂಕೀರ್ಣತೆ

ಒ (ಎಂ (ಎನ್) ಲಾಗ್ ಎನ್), ಇಲ್ಲಿ n ಎಂಬುದು ನಿರ್ದಿಷ್ಟ ಇನ್ಪುಟ್ನ ಉದ್ದವಾಗಿದೆ, M (n) ಎರಡು 2-ಬಿಟ್ ಸಂಖ್ಯೆಗಳನ್ನು ಭಾಗಿಸಲು ತೆಗೆದುಕೊಳ್ಳುವ ಸಮಯ. ಆದ್ದರಿಂದ, ಸಮಯದ ಸಂಕೀರ್ಣತೆಯು ಲಾಗರಿಥಮಿಕ್ ಆಗಿದೆ.

ಬಾಹ್ಯಾಕಾಶ ಸಂಕೀರ್ಣತೆ

ಒ (1), ಏಕೆಂದರೆ ನಾವು ಸಂಖ್ಯೆಯಲ್ಲಿನ ಪ್ರತಿ ಅಂಕಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಯಾವುದೇ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಿಲ್ಲ. ಸ್ಥಳದ ಸಂಕೀರ್ಣತೆ ಸ್ಥಿರವಾಗಿರುತ್ತದೆ.