⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 overload.pod

📁 SinFP是一种新的识别对方计算机操作系统类型的工具
💻 POD
📖 第 1 页 / 共 3 页
字号:
This means that the "C<$bits>" least significant bits are lost, all otherbits move down by "C<$bits>" positions, and the "C<$bits>" most significantbits that have been left unoccupied by this shift are all set to zero.If "C<$bits>" is greater than the number of bits of the given bit vector,this term returns an empty bit vector (i.e., with all bits cleared) ofthe same size as the given bit vector.Note that a fatal "reversed operands error" occurs if the two operandsare swapped.=item *C<$vector1 | $vector2>This term returns a new bit vector object which is the result ofa bitwise OR operation between the two bit vector operands.This is the same as calculating the union of two sets.=item *C<$vector1 & $vector2>This term returns a new bit vector object which is the result ofa bitwise AND operation between the two bit vector operands.This is the same as calculating the intersection of two sets.=item *C<$vector1 ^ $vector2>This term returns a new bit vector object which is the result ofa bitwise XOR (exclusive-or) operation between the two bit vectoroperands.This is the same as calculating the symmetric difference of two sets.=item *C<$vector1 + $vector2>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnsa new bit vector object which is the result of a bitwise OR operationbetween the two bit vector operands (this is the same as calculatingthe union of two sets) - which is the default behaviour, or it returnsa new bit vector object which contains the sum of the two numbersstored in the two bit vector operands.=item *C<$vector1 - $vector2>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnsa new bit vector object which is the set difference of the two setsrepresented in the two bit vector operands - which is the defaultbehaviour, or it returns a new bit vector object which containsthe difference of the two numbers stored in the two bit vectoroperands.=item *C<$vector1 * $vector2>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnsa new bit vector object which is the result of a bitwise AND operationbetween the two bit vector operands (this is the same as calculatingthe intersection of two sets) - which is the default behaviour, or itreturns a new bit vector object which contains the product of the twonumbers stored in the two bit vector operands.=item *C<$vector1 / $vector2>This term returns a new bit vector object containing the result of thedivision of the two numbers stored in the two bit vector operands.=item *C<$vector1 % $vector2>This term returns a new bit vector object containing the remainder ofthe division of the two numbers stored in the two bit vector operands.=item *C<$vector1 ** $vector2>This term returns a new bit vector object containing the result of theexponentiation of the left bit vector elevated to the right bit vector'spower.=item *C<$vector1 .= $vector2;>This statement "appends" the right bit vector operand (the "rvalue")to the left one (the "lvalue").The former contents of the left operand become the most significantpart of the resulting bit vector, and the right operand becomes theleast significant part.Since bit vectors are stored in "least order bit first" order, thisactually requires the left operand to be shifted "up" by the lengthof the right operand, which is then copied to the now freed leastsignificant part of the left operand.If the right operand is a Perl scalar, it is first converted to abit vector of the same size as the left operand, provided that theconfiguration states that scalars are to be regarded as indices,decimal strings or enumerations.If the configuration states that scalars are to be regarded as hexadecimalor boolean strings, however, these strings are converted to bit vectors ofa size matching the length of the input string, i.e., four times the lengthfor hexadecimal strings (because each hexadecimal digit is worth 4 bits) andonce the length for binary strings.=item *C<$vector x= $factor;>This statement replaces the given bit vector by a concatenation of as manycopies of the original contents of the given bit vector as the factor (theright operand) specifies.If the factor is zero, the given bit vector is resized to a length of zerobits.If the factor is one, the given bit vector is not changed at all.=item *C<$vector E<lt>E<lt>= $bits;>This statement moves the contents of the given bit vector left by "C<$bits>"positions (towards the most significant bit).This means that the "C<$bits>" most significant bits are lost, all otherbits move up by "C<$bits>" positions, and the "C<$bits>" least significantbits that have been left unoccupied by this shift are all set to zero.If "C<$bits>" is greater than the number of bits of the given bit vector,the given bit vector is erased completely (i.e., all bits are cleared).=item *C<$vector E<gt>E<gt>= $bits;>This statement moves the contents of the given bit vector right by "C<$bits>"positions (towards the least significant bit).This means that the "C<$bits>" least significant bits are lost, all otherbits move down by "C<$bits>" positions, and the "C<$bits>" most significantbits that have been left unoccupied by this shift are all set to zero.If "C<$bits>" is greater than the number of bits of the given bit vector,the given bit vector is erased completely (i.e., all bits are cleared).=item *C<$vector1 |= $vector2;>This statement performs a bitwise OR operation between the twobit vector operands and stores the result in the left operand.This is the same as calculating the union of two sets.=item *C<$vector1 &= $vector2;>This statement performs a bitwise AND operation between the twobit vector operands and stores the result in the left operand.This is the same as calculating the intersection of two sets.=item *C<$vector1 ^= $vector2;>This statement performs a bitwise XOR (exclusive-or) operationbetween the two bit vector operands and stores the result in theleft operand.This is the same as calculating the symmetric difference of two sets.=item *C<$vector1 += $vector2;>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this statement either performsa bitwise OR operation between the two bit vector operands (this isthe same as calculating the union of two sets) - which is the defaultbehaviour, or it calculates the sum of the two numbers stored in thetwo bit vector operands.The result of this operation is stored in the left operand.=item *C<$vector1 -= $vector2;>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this statement either calculatesthe set difference of the two sets represented in the two bit vectoroperands - which is the default behaviour, or it calculates thedifference of the two numbers stored in the two bit vector operands.The result of this operation is stored in the left operand.=item *C<$vector1 *= $vector2;>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this statement either performsa bitwise AND operation between the two bit vector operands (this isthe same as calculating the intersection of two sets) - which is thedefault behaviour, or it calculates the product of the two numbersstored in the two bit vector operands.The result of this operation is stored in the left operand.=item *C<$vector1 /= $vector2;>This statement puts the result of the division of the two numbersstored in the two bit vector operands into the left operand.=item *C<$vector1 %= $vector2;>This statement puts the remainder of the division of the two numbersstored in the two bit vector operands into the left operand.=item *C<$vector1 **= $vector2;>This statement puts the result of the exponentiation of the leftoperand elevated to the right operand's power into the left operand.=item *C<++$vector>, C<$vector++>This operator performs pre- and post-incrementation of thegiven bit vector.The value returned by this term is a reference of the givenbit vector object (after or before the incrementation,respectively).=item *C<--$vector>, C<$vector-->This operator performs pre- and post-decrementation of thegiven bit vector.The value returned by this term is a reference of the givenbit vector object (after or before the decrementation,respectively).=item *C<($vector1 cmp $vector2)>This term returns "C<-1>" if "C<$vector1>" is less than "C<$vector2>","C<0>" if "C<$vector1>" and "C<$vector2>" are the same, and "C<1>"if "C<$vector1>" is greater than "C<$vector2>".This comparison assumes B<UNSIGNED> bit vectors.=item *C<($vector1 eq $vector2)>This term returns true ("C<1>") if the contents of the two bit vectoroperands are the same and false ("C<0>") otherwise.=item *C<($vector1 ne $vector2)>This term returns true ("C<1>") if the two bit vector operands differand false ("C<0>") otherwise.=item *C<($vector1 lt $vector2)>This term returns true ("C<1>") if "C<$vector1>" is less than "C<$vector2>",and false ("C<0>") otherwise.This comparison assumes B<UNSIGNED> bit vectors.=item *C<($vector1 le $vector2)>This term returns true ("C<1>") if "C<$vector1>" is less than or equal to"C<$vector2>", and false ("C<0>") otherwise.This comparison assumes B<UNSIGNED> bit vectors.=item *C<($vector1 gt $vector2)>This term returns true ("C<1>") if "C<$vector1>" is greater than "C<$vector2>",and false ("C<0>") otherwise.This comparison assumes B<UNSIGNED> bit vectors.=item *C<($vector1 ge $vector2)>This term returns true ("C<1>") if "C<$vector1>" is greater than or equal to"C<$vector2>", and false ("C<0>") otherwise.This comparison assumes B<UNSIGNED> bit vectors.=item *C<($vector1 E<lt>=E<gt> $vector2)>This term returns "C<-1>" if "C<$vector1>" is less than "C<$vector2>","C<0>" if "C<$vector1>" and "C<$vector2>" are the same, and "C<1>"if "C<$vector1>" is greater than "C<$vector2>".This comparison assumes B<SIGNED> bit vectors.=item *C<($vector1 == $vector2)>This term returns true ("C<1>") if the contents of the two bit vectoroperands are the same and false ("C<0>") otherwise.=item *C<($vector1 != $vector2)>This term returns true ("C<1>") if the two bit vector operands differand false ("C<0>") otherwise.=item *C<($vector1 E<lt> $vector2)>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnstrue ("C<1>") if "C<$vector1>" is a true subset of "C<$vector2>"(and false ("C<0>") otherwise) - which is the default behaviour,or it returns true ("C<1>") if "C<$vector1>" is less than"C<$vector2>" (and false ("C<0>") otherwise).The latter comparison assumes B<SIGNED> bit vectors.=item *C<($vector1 E<lt>= $vector2)>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnstrue ("C<1>") if "C<$vector1>" is a subset of "C<$vector2>" (andfalse ("C<0>") otherwise) - which is the default behaviour, or itreturns true ("C<1>") if "C<$vector1>" is less than or equal to"C<$vector2>" (and false ("C<0>") otherwise).The latter comparison assumes B<SIGNED> bit vectors.=item *C<($vector1 E<gt> $vector2)>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnstrue ("C<1>") if "C<$vector1>" is a true superset of "C<$vector2>"(and false ("C<0>") otherwise) - which is the default behaviour,or it returns true ("C<1>") if "C<$vector1>" is greater than"C<$vector2>" (and false ("C<0>") otherwise).The latter comparison assumes B<SIGNED> bit vectors.=item *C<($vector1 E<gt>= $vector2)>Depending on the configuration (see the description of the method"C<Configuration()>" for more details), this term either returnstrue ("C<1>") if "C<$vector1>" is a superset of "C<$vector2>" (andfalse ("C<0>") otherwise) - which is the default behaviour, or itreturns true ("C<1>") if "C<$vector1>" is greater than or equal to"C<$vector2>" (and false ("C<0>") otherwise).The latter comparison assumes B<SIGNED> bit vectors.=back=head1 SEE ALSOBit::Vector(3), Bit::Vector::String(3).=head1 VERSIONThis man page documents "Bit::Vector::Overload" version 6.4.=head1 AUTHOR  Steffen Beyer  mailto:sb@engelschall.com  http://www.engelschall.com/u/sb/download/=head1 COPYRIGHTCopyright (c) 2000 - 2004 by Steffen Beyer. All rights reserved.=head1 LICENSEThis package is free software; you can redistribute it and/ormodify it under the same terms as Perl itself, i.e., under theterms of the "Artistic License" or the "GNU General Public License".The C library at the core of this Perl module can additionallybe redistributed and/or modified under the terms of the "GNULibrary General Public License".Please refer to the files "Artistic.txt", "GNU_GPL.txt" and"GNU_LGPL.txt" in this distribution for details!=head1 DISCLAIMERThis package is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the "GNU General Public License" for more details.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -