저는 x86_64 Linux Assembly
을 사용하고 있습니다. 사용자 입력에서 문자의 하위 세 비트를 1로 설정하고 결과 문자를 인쇄하도록 요청 받았습니다. 설명해 드리겠습니다.문자의 하위 3 비트를 1로 설정하는 방법은 무엇입니까?
Input: b ; ASCII in binary: 01100010
Set the last 3 bits to 1:
01100010 -> 01100111
Output: g ; ASCII in binary: 01100111
내가 이해하는 한, 입력 문자는 이미 어셈블리에서 이진으로 간주됩니다. 그래서 내 질문 :
문자의 이진 형식을 얻을 수있는 방법이 있습니까? 그렇다면 누군가가 의사 코드를 제공 할 수 있다면 기쁠 것입니다.
지금까지 내 마음에 온 유일한 문자열 ->
인쇄로 변환 ->
을 정수로 바이너리에서 하위 3 비트 하나에 ->
세트를 이진하기 ->
변환을 정수로 ->
패스를 입력 문자의 ASCII 문자로 변환하는 것이 었습니다 . 그러나 나는이 방법에 대해 너무 많이 생각하지 않았습니다. 아주 지루해 보입니다.
당신이 시도 것을 우리에게 보여 사용하여 가장 낮은 3 개 비트를 켤 수 있습니다, A [MCVE]를 설명합니다. – t0mm13b
'bits' 또는'bytes' - 비트가 없습니다. 네가 무언가를 물지 않는 한. – luk2302
@ t0mm13b 나의 유일한 시도는 ASCII 코드를 정수로 변환하는 것에 대해 위에서 설명한 것입니다. 예제 코드의 줄 수를 상상할 수 있습니다 (하위 3 비트 부분으로 해결 방법을 고려하지 않고). 그것이 내가 게시하지 않는 이유입니다. – Jazz