我需要澄清我遇到的问题。我目前正在尝试使用 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,但我似乎无法在 & 之后掌握解决方案。我感觉很糟糕,因为我通常讨厌看解决方案,但这对我来说非常有趣,大多数其他编程书籍都很少(如果有的话)关注位运算符。我将不胜感激。