심볼을 비트로 변환해야 매 2 심볼 = 1 바이트 = 8 비트가됩니다. 예를 들어 사용자 입력이 RR
인 경우 00001100
이 결과로 나타납니다. (단지 예)심볼을 비트로 변환 java
답변
그럼 내가 질문을 이해했다면 해결할 수있는 두 가지 옵션이 있습니다. 쉽거나 어려운 방법입니다.
쉬운 : 모든
- 첫째, 당신이 사용하는 문자가있는 16 진수 값이 있는지 알고 있어야합니다.
- 0-9 | 키를 사용하여 ASCII 테이블을 나타내는 정렬 된 맵을 만들 수 있습니다. A-H이며이 값은 이진수를 나타냅니다.
예 :
SortedMap<Character, String>
lo_binary = new TreeMap<Character, String>();
lo_binary.put('0', "0000");
lo_binary.put('1', "0001");
lo_binary.put('2', "0010");
lo_binary.put('3', "0011");
lo_binary.put('4', "0100");
lo_binary.put('5', "0101");
lo_binary.put('6', "0110");
lo_binary.put('7', "0111");
lo_binary.put('8', "1000");
lo_binary.put('9', "1001");
lo_binary.put('A', "1010");
lo_binary.put('B', "1011");
lo_binary.put('C', "1100");
lo_binary.put('D', "1101");
lo_binary.put('E', "1110");
lo_binary.put('F', "1111");
- 두 개의 문자를 읽고 소트 맵에 바이너리 코드를 찾아보십시오.
저장하는 String
문자열 ls_symbols = "AA"로 결과; 문자열 ls_result = ""; (; LN < ls_symbols.lenght(); LN ++ INT LN = 0) { ls_result + = lo_binary.get (ls_symbols.charAt (LN))에 대한
; }
System.out.println (ls_result); // AA - 하드> 10101010
: 모든
- 첫째, 당신이 사용하는 문자가있는 16 진수 값이 있는지 알고 있어야합니다.
- 16 진수가있는 리터럴을 byte []로 변환합니다.
- 는 = 바이트 []는
- 결과는 = 1 true와 false입니다 [] 논리 값으로 변환 0
예 :
// 당신이 리터럴에 나타내는 문자 A.이 있습니까 이진 값 (1010)가있다 // 당신이 이야기 때문에
1010
boolean = (1010 & 1000) == 1000 // (1000 = represents 0x80)
boolean = true (1);
1010 >>> 0100
boolean = (0100 & 1000) == 0000
boolean = false (0);
0100 >>> 1000
boolean = (1000 & 1000) == 1000
boolean = true (1);
1000 >>> 0000
boolean = (0000 & 1000) == 0000
boolean = false (0);
나는 당신을 이해할 수 없다. RR이 00001100이되어야하는 이유는 무엇입니까? 16 진수 1100은 문자 'C'를 나타냅니다.
예일뿐입니다. 예, 모든 2 개의 기호를 16 진수 형식으로 변환해야합니다. –
귀하의 질문은 혼란 부울 값 이진 값을 변경하려면 연산자 >>> 및 &를 사용 O를 수행 f 16 진수로 표시 한 다음 이진수를 표시합니다. 어쨌든, 아마도 도움이 될 것입니다 ... 이것은 입력을 16 진수로 변환합니다. 어쩌면 당신은 당신이 필요로하는 것만 정확하게 해결하는데 사용할 수 있습니다.
import java.math.BigInteger;
public class MyTest {
public static void main(String[] args) {
String input = "RR";
System.out.println(toHex(input));
}
public static String toHex(String arg) {
return String.format("%x", new BigInteger(1, arg.getBytes()));
}
}
질문을 자세히 작성하십시오. – Abubakkar
"기호"는 무엇입니까? 당신은 텍스트 문자를 의미합니까? 그리고 'RR'<-> 00001100'을 매핑하는 것이 합당한 이유는 무엇입니까? – leonbloy
그것은 단지 예일뿐입니다. 네, 모든 2 개의 기호를 16 진수 형식으로 변환해야합니다 –