私はちょうど私の大きな整数が大丈夫だったことを考え出すエポックを過ごし、printf
の%d
/%u
がそれを表示するタスクまではなかったこと:%sは、printfが大きな整数を正しく表示できる唯一の形式ですか?
use strict;
use warnings;
use bigint;
use List::Gen;
*factorial = do {use bigint; <[..*] 1, 1..>->code};
my $value = factorial(32);
printf "%d\n", $value; # -1
printf "%u\n", $value; # 18446744073709551615
printf "%s\n", $value; # 263130836933693530167218012160000000
答えがある場合、私は驚かないだろういいえ、それを確認したかっただけです。
'printf'を使う理由はありませんでしたが、私のプロセスの巨大な数字の入力を開始したときに、すでにそこにあるという事実以外は特にありませんでした。 – Zaid