0x 표기법을 사용하는 숫자는 무엇을 의미합니까?


107

무엇을 0x숫자 접두사 의미합니까?

const int shared_segment_size = 0x6400;

C 프로그램에서 나왔습니다. 나는 그것이 무엇인지, 특히 그 편지가 무엇을 x의미 하는지 기억할 수 없습니다 .


2
"16 진수 표기법"검색
asawyer

2
@asawyer 감사합니다. "0x"를 16 진수로 선택하기 전에는 어디에서 검색해야할지 몰랐습니다.
Terry Li

3
를 검색 0x prefix C++하면 여기 로 오게됩니다. :)
Carl Smith

답변:


111

로 시작하는 리터럴 0x 은 16 진 정수입니다. (베이스 16)

번호 0x640025600입니다.

6 * 16^3 + 4 * 16^2 = 25600

문자를 포함하는 예 (A = 10, B = 11 ... F = 15 인 16 진수 표기법에도 사용됨)

번호 0x6BF027632입니다.

6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576    + 2816      + 240       = 27632

2
내가 궁금한 것은 음수를 16 진수로 어떻게 표시해야합니까? -0xff 또는 0x-ff처럼? 첫 번째를 추측하지만 모르겠습니다.
Luc

7
@Luc 첫 번째가 맞습니다. 더 자주 나는 옳고 0xffffffff그런 것을 본다 . ( 0xffffffff = -12의 보수를 가정하는 32 비트
정수용

@Luc 음수 는 '-'기호가 필요없는 영리한 방법 인 2의 보수를 사용하여 이진수로 표시됩니다. 따라서 기본적으로 바이너리에서 16 진수, 음수 또는 양수로 변환됩니다.
Shuvo Sarker

@ShuvoSarker 추가해 주셔서 감사합니다! 그것은 단지 메모리 표현 일뿐입니다. 저는 우리가 0-999 사이의 숫자 세트를 가지고 있고 1000-1999가 음수를 나타낸다는 것에 동의하는 것과 비슷하다고 생각합니다. 내 질문은 사람이 읽을 수있는 표기법에 관한 것이었지만, 컴퓨터가 어떻게 다른 사람에게 도움이 될 수 있는지 알고 있으므로 감사합니다. :)
Luc

16

C 및 C 구문 기반 언어에서 접두사 0x는 16 진수 (기본 16)를 의미합니다.

따라서 0x400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024 또는 하나의 이진수 K .

따라서 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K


10

16 진수입니다.

0x6400은 4 * 16 ^ 2 + 6 * 16 ^ 3 = 25600으로 변환됩니다.


8

로 시작하는 숫자 0x는 16 진수 (기본 16)입니다.0x6400을 나타냅니다 25600.

변환하다,

  • 마지막 숫자에 1을 곱하십시오.
  • 마지막 두 번째 숫자에 16을 곱한 값을 더합니다 (16 ^ 1).
  • 마지막 세 번째 숫자에 256 (16 ^ 2)을 곱합니다.
  • 마지막 네 번째 숫자 곱하기 4096 (16 ^ 3)
  • ...등등

인자 1, 16, 256 등은 16의 거듭 제곱입니다.

0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600 

또는

0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600 

7

단순한

숫자가 다른 기준이 아닌 16 진수임을 나타내는 접두사입니다. C 프로그래밍 언어는이를 사용하여 컴파일러에 알립니다.

예 :

0x64006*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.컴파일러가 읽을 때로 번역됩니다 0x6400. 0x 용어의 도움으로 숫자가 16 진수임을 이해합니다. 보통 우리는 (6400)16 or (6400)8또는 어떤 기초에 의해 이해할 수 있습니다 ..

희망은 어떤 식 으로든 도움이되었습니다.

좋은 날,

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.