トップ «前の日記(2016-02-24(Wed)) 最新 次の日記(2016-03-06(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-02-29(Mon) やや暖かめ

awkの数限界

2^53を越えるとおかしくなった。
以下、gawk(4.0.1)とFreeBSDのnawk(20121220)。

$ awk 'BEGIN{        
  foo=2^53
  bar=-5 
  while(bar<4){
    printf("%2d: %d\n", bar, foo+bar) 
    bar+=1}
}'
-5: 9007199254740987
-4: 9007199254740988
-3: 9007199254740989
-2: 9007199254740990
-1: 9007199254740991
 0: 9007199254740992
 1: 9007199254740992
 2: 9007199254740994
 3: 9007199254740996

9007199254740996で検索すると、あっさり GNUのページ。既出すぎたか。
RaspberryPiのFreeBSDのawkは、2の31乗未満が限界らしい。
gawkは上に同じ、だったけど。

$ awk 'BEGIN{        
  foo=2^31
  bar=-5 
  while(bar<4){
    printf("%2d: %d\n", bar, foo+bar) 
    bar+=1}}'
-5: 2147483643
-4: 2147483644
-3: 2147483645
-2: 2147483646
-1: 2147483647
 0: 2147483647
 1: 2147483647
 2: 2147483647
 3: 2147483647

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。