내가 가진 문제점에 대한 설명이 필요합니다. 저는 현재 Perl 웹 사이트의 "Learn Perl"부분에서 제공하는 Beginning Perl 책을 사용하여 Perl을 배우려고합니다. 나는 2 장의 끝으로 내려 갔고 현재 책이 제공 한 해결책 뒤에있는 논리를 이해하려고 힘들게 노력하고있다.비트 연산자 및 논리
#!usr/bin/perl
#Ex2_3.plx
use warnings;
print "Please enter the value(less than 256) you wish to be converted into binary\n";
my $bin = <STDIN>;
chomp ($bin);
print "The binary value of $bin is : ", "\n";
#Use the bitwise and operator to determine the binary value:
print((128 & $bin)/128);
print((64 & $bin)/64);
print((32 & $bin)/32);
print((16 & $bin)/16);
print((8 & $bin)/8);
print((4 & $bin)/4);
print((2 & $bin)/2);
print((1 & $bin)/1);
print("\n");
나는 등 (128 & N)/(128) 뒤에 논리를 이해할 수없는 것. 코드가 128에서 1로 이동해야하는 이유가 무엇인지 이해하는 동안 & 이후에는 솔루션을 파악할 수 없습니다. 나는 일반적으로 솔루션을 보면서 싫어하기 때문에 기분이 좋지 않지만, 이것은 나에게 매우 흥미 롭다. 대부분의 다른 프로그래밍 서적은 비트 연산자에 매우 작은 관심을 두었다. 도움을 주셔서 감사합니다.
에 대한 생각 (128), (64), 자신의 바이너리 형태와 AND 연산을 시도 같은 32, 16, 8, 4, 2, 1보기 예를 들어 숫자 5를 사용하여 결과를 확인하십시오. –
'&'와'|'를 사용하는 이유를 설명하는 [this answer] (http://stackoverflow.com/a/9203101/589924)에 관심이있을 수 있습니다. – ikegami