정수와 Endian 그리고 2의 보수 15:05쯤 질문이있습니다.
안녕하세요 선생님 질문이 2개 있습니다.
1) 15:05쯤에
"1byte의 메모리에 64bit 상수가 주소로 부여됩니다."
라는 의미가


단순히 저 메모리 창에서 메모리(1byte)에 대한 주소를 2^64 까지 부여할 수 있으니까 0x자릿수가 늘어난것이다.
라고 이해하면 맞나요..?
2) 추가적으로 a의 타입을 float , double로 바꾸는 경우 전혀 다른 값이 들어가던데 gpt를 통해 검색하니
Let's break down the hexadecimal representation "00 00 20 41" into binary and decode it:
Convert each hexadecimal digit into its corresponding 4-bit binary representation:
0: 0000
2: 0010
0: 0000
4: 0100
1: 0001
Concatenate the binary representations:
000000000000001000000100000001
Split the binary representation into its components based on the IEEE 754 format:
Sign bit (1 bit): 0 (positive value)
Exponent bits (8 bits): 00000000
Mantissa bits (23 bits): 00000100000000100000001
Apply the IEEE 754 formula:
Sign: 1^(0) = 1 (positive)
Exponent: 2^(0) - 127 = -127
Mantissa: 1.00000100000000100000001 (binary)
The final value is calculated as (1 + mantissa) * 2^(exponent):
(1 + 1.00000100000000100000001) * 2^(-127) = 1.00000100000000100000001 * 2^(-127) = 1.00000100000000100000001 * 2^(-23) * 2^(-104) ≈ 10
Therefore, the hexadecimal representation "00 00 20 41" corresponds to the floating-point value 10 in C.
이런식으로 설명해줬는데 부동소수점 관련된이야기인것을 알겠는데 자세히 알아야 하나요...?
답변 1
1
64비트 시스템은 1바이트 메모리에 64비트(2^64)주소를 부여해 관리합니다. 0x자릿수가 늘어난 것은 64비트 상수라서 그렇습니다.
이는 IEEE 754 표준과 관련된 내용입니다. 단정도 형식(float)과 배정도 형식(double)은 구조가 다르기 때문에 16진수로 봤을 때 같은 값으로 보여도 당연히 해석방식이 달라지면 전혀 엉뚱한 값이 됩니다. ChatGPT는 이를 좀 더 구체적으로 설명해주고 있는 것입니다.
참고하시기 바랍니다.
병행성 제어
0
41
2
질문이 있습니다(강의와 거의 상관이 없는)
0
72
2
컴파일러 서적 질문입니다
0
155
1
코드생성 및 최적화 질문입니다
0
152
1
Hex Editor를 이용한 다국어 번역 관련 질문입니다
0
206
2
큐의 배열을 넘겨도 정상작동합니다
0
155
2
캐너리비트에 관하여 질문
0
207
3
상수화된 문자열에 질문있습니다
0
167
1
함수 호출 매개변수 전달에 대한 질문 드립니다.
0
187
1
단항 증감 연산에 따른 다른 접근에 대한 질문있습니다.
0
203
2
함수호출 규약 종류에 따른 장단점 여부
0
223
2
정적라이브러리 링크 오류
0
223
1
const char *를 char*에 초기화할때의 컴파일 에러 처리 방식 문의
0
348
2
pszParam 수정이 왜 Hello World print에도 영향을 미치는지 이해가 잘 안됩니다.
0
248
2
비선형 자료구조
0
307
1
자료 구조 공부 후에
0
349
1
강의자료 관련
0
248
1
마지막에 말씀하신 부분 질문드립니다.
0
209
1
문자열 관련 질문 드립니다
0
286
1
라이브러리
0
270
1
부동소수점
0
388
1
왜 변수 주소 사이에 offset이 있는 건가요?
0
298
2
stack 쌓는 순서
0
502
1
함수호출이랑 쓰레드
0
407
1





