64-ビットシステム:Perlに相当する `int、short、long`はありますか?
$i=2;print ~$i; # 18446744073709551613
32ビットシステム:
$i=2;print ~$i; # 4294967293
がどのように私は$i
32ビットを作ることができますか?
どのシステムでもPerlでビット単位の移植が必要です。
64-ビットシステム:Perlに相当する `int、short、long`はありますか?
$i=2;print ~$i; # 18446744073709551613
32ビットシステム:
$i=2;print ~$i; # 4294967293
がどのように私は$i
32ビットを作ることができますか?
どのシステムでもPerlでビット単位の移植が必要です。
Perlで移植可能なビット演算の場合は、CPANのBit::Vector libraryをチェックしてください。
それは例えば、ビット演算の広い範囲をサポートしています。あなたの見出しの質問に
use Bit::Vector;
my $vector = Bit::Vector->new_Dec(32, "2"); # 32-bit vector for the decimal value 2
$vector->Negate($vector);
ちょうどビットごとに、結果は0xffffffff
となります。これは32ビットシステムには何の影響も及ぼさず、64ビットシステムの下位32ビットを提供します。これはあなたが望む答えです。
答えが「いいえ」です。 Perlでは 'int'、' short'、 'long'に相当するものはありません。 –