피연산자로 0x0030 인 이진수에 대해 OR 연산을 수행하면 그 수의 ASCII 문자가 생성되는 이유를 설명 할 수 있습니까?어셈블리에서 숫자를 ASCII로 변환
1
A
답변
4
ASCII 차트에서 보는 바와 같이 0에서 9까지의 숫자는 0x30부터 시작합니다. 그래서 문자 1의 ASCII 값을 원하십니까? 수에 대한 0x30에가 또는 0x01로 = 0x31로 회신 = ASCII 값은 1
In binary it's easy to see:
(0x30) 110000
or
(0x01) 000001
= 110001
Which is 0x31 - ASCII value of 1.
1
는 9 숫자 0을 참조하는 경우, 그 이유는 0x30
(또는 48)의 ASCII 코드이다 48은 바이트의 상위 (왼손)쪽에있는 비트만을 필요로하기 때문에 16 (하위 비트) 이하의 임의의 숫자로 OR 연산을하는 것은 수학적으로 숫자를 더하는 것과 같습니다.
따라서 0x30 또는 0x01은 문자 '1'의 ASCII 코드 0x31을 제공합니다.
1
한 자리 숫자의 이진 표현을 봅니다. 2d = 00000010b. 0x30 (00110000b)의 OR 연산을 적용하십시오. 이 결과는 00110010b가 0x32 또는 50d가되어 '2'에 대한 ASCII 코드입니다. 사실,이 경우 (고려할 캐리가 없으므로) OR 연산은 0x30을 더하는 것과 같습니다.
관련 문제
- 1. 스캔 코드를 ASCII로 변환
- 2. stringbinary를 ascii로 변환
- 3. 음수를 ASCII로 변환
- 4. 16 진수를 ascii로 변환
- 5. Java에서 UTF-16에서 ASCII로 변환
- 6. C에서 문자열을 us-ascii로 변환
- 7. PHP UTF-16에서 ASCII로 변환
- 8. 어셈블리에서 2 개의 숫자를 읽고 변수에 저장
- 9. Bash : 비 ASCII 문자를 ASCII로 변환
- 10. 포스트 스크립트로 문자열 찾기 및 ASCII로 변환
- 11. 유니 코드 문자를 확장 ASCII로 변환
- 12. VBA : 유니 코드에서 ASCII로 변환 하시겠습니까?
- 13. 형식이있는 ASCII로 PDF 변환 - 현재 상태는 어떻습니까?
- 14. xml의 유니 코드 문자를 ascii로 변환
- 15. 어떻게 C에서 ASCII로 16 진수로 변환 하시겠습니까?
- 16. ansi-c를 ASCII로 표현할 수있는 int로 변환
- 17. 응답 스트림 가져 오기 ASCII로 변환
- 18. VB.NET에서 UCS-2 바이트를 ASCII로 변환
- 19. Excel에서 숫자를 실수로 변환
- 20. MATLAB에서 숫자를 문자열로 변환
- 21. 오라클의 숫자를 날짜로 변환
- 22. (SAS) 숫자를 문자로 변환
- 23. 숫자를 문자열 표현으로 변환
- 24. 숫자를 문자로 변환
- 25. 숫자를 유니 코드로 변환
- 26. 숫자를 프랑스어로 변환
- 27. 숫자를 시간으로 변환 하시겠습니까?
- 28. MySQL - 숫자를 영어로 변환
- 29. 숫자를 문자 자바로 변환
- 30. C++ 혼란. 텍스트 파일에서 정수 읽기. ASCII로 변환
나는 0x0030을 빼는 이유가 무엇인지 알고 있습니다. – Zzz