用户工具

站点工具


linux:perl:cpan:bit-vector

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
linux:perl:cpan:bit-vector [2020/07/14 22:58] – [3.1 获取指定bit value] zhangguolinux:perl:cpan:bit-vector [2023/03/17 10:12] (当前版本) – 外部编辑 127.0.0.1
行 369: 行 369:
 <code perl> <code perl>
 #!/usr/bin/perl #!/usr/bin/perl
 + 
 use Bit::Vector; use Bit::Vector;
 + 
 +## from hex
 +$vec = Bit::Vector->new_Hex(32,"cc");
 +$hex_str = $vec->to_Hex();
 +print "hex_str = $hex_str\n";
 +$bin_str = $vec->to_Bin();
 +print "bin_str = $bin_str\n";
  
-$vector = Bit::Vector->new_Hex(12,"cc"); 
  
-$bin_str = $vector->to_Bin(); 
  
 +
 +## from bin
 +print "\n";
 +$vec = Bit::Vector->new_Bin(32, "11100011");
 +$hex_str = $vec->to_Hex();
 +print "hex_str = $hex_str\n";
 +$bin_str = $vec->to_Bin();
 print "bin_str = $bin_str\n"; print "bin_str = $bin_str\n";
  
-$hex_str = $vector->to_Hex(); 
  
 +##############
 +print "\n";
 +$vec = Bit::Vector->new(32);
 +$vec->Bit_Copy(0,1);
 +$vec->Bit_Copy(4,1);
 +$vec->Bit_Copy(5,1);
 +$hex_str = $vec->to_Hex();
 print "hex_str = $hex_str\n"; print "hex_str = $hex_str\n";
 +$bin_str = $vec->to_Bin();
 +print "bin_str = $bin_str\n";
 +
 +
 +
 +
 +
 </code> </code>
  
 运行结果: 运行结果:
 <code> <code>
-bin_str = 000011001100 +hex_str = 000000CC 
-hex_str = 0CC+bin_str = 00000000000000000000000011001100 
 + 
 +hex_str = 000000E3 
 +bin_str = 00000000000000000000000011100011 
 + 
 +hex_str = 00000031 
 +bin_str = 00000000000000000000000000110001 
 </code> </code>
 +
 +需要注意在new_Hex()时,不能输入0x的样式,只能输入纯16进制部分字符串。
  
 ==== - 获取指定bit value ==== ==== - 获取指定bit value ====
行 393: 行 427:
  
 <code perl> <code perl>
-foreach $i (reverse(0..11)) {+$bin8 = ""; 
 +foreach $i (0..7) {
     #$bit_value = $vector->contains($i);     #$bit_value = $vector->contains($i);
     $bit_value = $vector->bit_test($i);     $bit_value = $vector->bit_test($i);
-    print "$bit_value ";+    $bin8 =  "$bit_value" . $bin8
 } }
-print "\n";+print "bin8 = $bin8\n"; 
 +$vector8 = Bit::Vector->new_Bin(8,$bin8); 
 +$hex_str8 = $vector8->to_Hex(); 
 +print "hex_str8 = $hex_str8\n";
 </code> </code>
  
行 421: 行 459:
 ==== - 指定bit取反 ==== ==== - 指定bit取反 ====
 bit vector 指定bit取反,并且返回该bit取反后的值。 bit vector 指定bit取反,并且返回该bit取反后的值。
-<code perl>+<code perl  [enable_line_numbers="true", highlight_lines_extra="1"]>
 $bit = $vector->bit_flip(0); $bit = $vector->bit_flip(0);
 print "bit = $bit\n"; print "bit = $bit\n";
linux/perl/cpan/bit-vector.1594738721.txt.gz · 最后更改: 2023/03/17 10:12 (外部编辑)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki