주어진 정수를 커스텀 바이너리 표현으로 변환하는 알고리즘

아르 빈드 사시 쿠마르

문제 설명

다음과 같이 이진수를 사용하여 정수를 나타내는 두 가지 패턴이 있습니다.

첫 번째 (표준 십진수를 이진으로 변환) :

0 -> 000
1 -> 001
2 -> 010
3 -> 011
4 -> 100
5 -> 101
6 -> 110
7 -> 111

둘째:

0 -> 0000
1 -> 0001
2 -> 0010
3 -> 0100
4 -> 1000
5 -> 0011
6 -> 0101
7 -> 1001
8 -> 0110
9 -> 1010
10 -> 1100
11 -> 0111
12 -> 1011
13 -> 1101
14 -> 1110
15 -> 1111

설명 : 먼저, 가장 높은 우선 순위를 최하위 비트로 각각 1 비트 씩 뒤집습니다. 그런 다음 두 번째 반복에서 첫 번째 비트를 뒤집은 상태로 유지하고 나머지 비트를 이전과 같이 순서대로 뒤집습니다. 세 번째 반복에서는 최하위 비트가 설정되지 않은 다음 두 번째 중요한 비트가 설정되고 패턴이 계속됩니다.

그러나 이제 첫 번째 패턴과 두 번째 패턴을 하나의 단일 패턴으로 결합하려고한다고 가정 해 보겠습니다. 여기서 일부는 첫 번째 패턴으로 정의되고 나머지는 두 번째 패턴으로 정의됩니다. 예를 들면 :

(첫 번째 패턴, 최대 3 자리 유효 숫자) (두 번째 패턴, 최소 3 자리 유효 숫자)

0 -> 000000
1 -> 000001
2 -> 000010
3 -> 000100
4 -> 000011
5 -> 000101
6 -> 000110
7 -> 000111
8 -> 001000
9 -> 001001
10 -> 001010
11 -> 001100
12 -> 001011
13 -> 001101
14 -> 001110
15 -> 001111
16 -> 010000
17 -> 010001
...
010111
011000
...

목표:

이 두 패턴 중 어떤 비트 그룹이 있는지 알려주는 입력 (비트 수는 우리가 원하는만큼 길 수 있고 패턴 반복은이 세트의 비트 그룹간에 계속 이동할 수 있음); 정수.

입력 패턴을 기반으로 정수를 해당 이진 표현으로 변환하는 출력. E.g. 12 -> 001011

내가 갇힌 곳 :

바이너리 변환은 간단합니다. 두 번째 패턴은 어떻게 만드는지 잘 모르겠습니다. 정수를 두 번째 패턴 이진 표현으로 변환 할 수 있더라도 두 유형을 결합하여 입력 번호에 해당하는 올바른 이진을 찾으려면 어떻게해야합니까? 여기에 패턴이 있기 때문에 이것에 대한 우아한 수학적 표현이 있어야한다고 확신합니다!

내 사용 사례는 무엇입니까?

비슷한 유형의 입력을 기반으로이 이진 표현과 유사한 검색 패턴을 만들려는 응용 프로그램에 대한 코드를 작성하고 있습니다.

another_CS_guy

숫자에 대한 첫 번째 패턴과 두 번째 패턴을 계산했다고 가정합니다.

다시 "일반"십진수로 변환 한 다음 firstNumber를 3만큼 왼쪽으로 시프트 firstPatterNo << 3한 다음 두 숫자의 OR을 수행합니다 firstPatterNo | secondPatterNo.

firstPatterNo = 3 // 011  (normal decimal representations)
secondPatternNo = 4 // 100  (normal decimal representations)

combined = (firstPatterNo << 3) | secondPatternNo

// Convert combined to normal binary representation

BTW 두 번째 패턴의 논리는 무엇입니까? 나는 알아낼 수 없다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

주어진 알파벳에 대해 정수를 문자열로 변환하는 알고리즘

분류에서Dev

분수를 이진수로 변환하는 알고리즘

분류에서Dev

8 진수를 10 진수로 변환하는 알고리즘?

분류에서Dev

커스텀 바이너리 함수를 정의하는 추력 변환

분류에서Dev

커스텀 정렬 알고리즘 C ++

분류에서Dev

정수를 이진 값으로 변환하는 시간 및 공간 효율적인 알고리즘 찾기

분류에서Dev

이진 트리에서 주어진 합계로 모든 경로를 인쇄하는 알고리즘

분류에서Dev

정수를 이진수로 변환하는 파이썬 알고리즘 : 효율성에 대한 질문

분류에서Dev

주어진 배열에서 음수를 결정하는 빠른 알고리즘

분류에서Dev

바이너리를 포함하는 정수 목록을 16 진수로 변환

분류에서Dev

자바는 int를 바이트로 형변환하기 위해 어떤 알고리즘을 사용합니까?

분류에서Dev

Javascript : 이진 검색 트리를 이중 연결 목록으로 변환하는 알고리즘

분류에서Dev

userSpaceOnUse 좌표를 objectBoundingBox 좌표로 변환하는 알고리즘?

분류에서Dev

주어진 숫자의 소인수로부터 고유 한 정수를 생성하는 방법 / 알고리즘이 있습니까?

분류에서Dev

주어진 범위에서 배수를 찾는 알고리즘 속도 향상

분류에서Dev

C 바이너리 버퍼를 Python 문자열의 16 진수 표현으로 변환하는 방법은 무엇입니까?

분류에서Dev

16 진수의 2의 보수를 10 진수로 수동으로 변환하는 알고리즘이 있습니까?

분류에서Dev

JavaScript에서 바이너리를 10 진수로 변환하는 내장 함수

분류에서Dev

커스텀 모델을 훈련 할 때 Spacy는 어떤 딥 러닝 알고리즘을 사용합니까?

분류에서Dev

바이너리를 부호있는 10 진수로 변환

분류에서Dev

Node.js에 WCF 바이너리 데이터를 전체 텍스트 XML 표현으로 변환하는 방법이 있습니까?

분류에서Dev

작업하고 비트와 바이트를 분리하기위한 바이너리 마스크를 만들 때 바이너리에서 16 진수로 변환하는 가장 빠른 방법은 무엇입니까?

분류에서Dev

작업하고 비트와 바이트를 분리하기위한 바이너리 마스크를 만들 때 바이너리에서 16 진수로 변환하는 가장 빠른 방법은 무엇입니까?

분류에서Dev

자바 스크립트 : 16 진수 데이터를 바이너리로 변환하고 파일에 쓰는 방법

분류에서Dev

정수 알고리즘 : 주어진 조건을 충족하는 수학 함수 찾기

분류에서Dev

16 진수 이스케이프 문자를 바이너리로 변환

분류에서Dev

주어진 시간 복잡성으로 알고리즘 생성

분류에서Dev

바이너리를 10 진수로 변환하려고합니다.

분류에서Dev

원시 바이너리 / 16 진수를 정수 해석으로 변환하지 못함

Related 관련 기사

  1. 1

    주어진 알파벳에 대해 정수를 문자열로 변환하는 알고리즘

  2. 2

    분수를 이진수로 변환하는 알고리즘

  3. 3

    8 진수를 10 진수로 변환하는 알고리즘?

  4. 4

    커스텀 바이너리 함수를 정의하는 추력 변환

  5. 5

    커스텀 정렬 알고리즘 C ++

  6. 6

    정수를 이진 값으로 변환하는 시간 및 공간 효율적인 알고리즘 찾기

  7. 7

    이진 트리에서 주어진 합계로 모든 경로를 인쇄하는 알고리즘

  8. 8

    정수를 이진수로 변환하는 파이썬 알고리즘 : 효율성에 대한 질문

  9. 9

    주어진 배열에서 음수를 결정하는 빠른 알고리즘

  10. 10

    바이너리를 포함하는 정수 목록을 16 진수로 변환

  11. 11

    자바는 int를 바이트로 형변환하기 위해 어떤 알고리즘을 사용합니까?

  12. 12

    Javascript : 이진 검색 트리를 이중 연결 목록으로 변환하는 알고리즘

  13. 13

    userSpaceOnUse 좌표를 objectBoundingBox 좌표로 변환하는 알고리즘?

  14. 14

    주어진 숫자의 소인수로부터 고유 한 정수를 생성하는 방법 / 알고리즘이 있습니까?

  15. 15

    주어진 범위에서 배수를 찾는 알고리즘 속도 향상

  16. 16

    C 바이너리 버퍼를 Python 문자열의 16 진수 표현으로 변환하는 방법은 무엇입니까?

  17. 17

    16 진수의 2의 보수를 10 진수로 수동으로 변환하는 알고리즘이 있습니까?

  18. 18

    JavaScript에서 바이너리를 10 진수로 변환하는 내장 함수

  19. 19

    커스텀 모델을 훈련 할 때 Spacy는 어떤 딥 러닝 알고리즘을 사용합니까?

  20. 20

    바이너리를 부호있는 10 진수로 변환

  21. 21

    Node.js에 WCF 바이너리 데이터를 전체 텍스트 XML 표현으로 변환하는 방법이 있습니까?

  22. 22

    작업하고 비트와 바이트를 분리하기위한 바이너리 마스크를 만들 때 바이너리에서 16 진수로 변환하는 가장 빠른 방법은 무엇입니까?

  23. 23

    작업하고 비트와 바이트를 분리하기위한 바이너리 마스크를 만들 때 바이너리에서 16 진수로 변환하는 가장 빠른 방법은 무엇입니까?

  24. 24

    자바 스크립트 : 16 진수 데이터를 바이너리로 변환하고 파일에 쓰는 방법

  25. 25

    정수 알고리즘 : 주어진 조건을 충족하는 수학 함수 찾기

  26. 26

    16 진수 이스케이프 문자를 바이너리로 변환

  27. 27

    주어진 시간 복잡성으로 알고리즘 생성

  28. 28

    바이너리를 10 진수로 변환하려고합니다.

  29. 29

    원시 바이너리 / 16 진수를 정수 해석으로 변환하지 못함

뜨겁다태그

보관