rubyのprintf"%x"%-4はなぜ先頭を印刷するのか..


まずrubyにおけるprintf「%x」%-4の戻り結果を見てみましょう.
irb(main):134:0> printf "%x
" % -4 ..fc

前の..神马东东??matzの文章を読んで一二を少し知った.
rubyではx 86であればFixnumは32ビット、x 64であればFixnumは64ビットとなり、長いを超える数字はBignumとなる.Bignumの内部には、それぞれ記号と絶対値が保存する、絶対値は整数配列の形で保存され、配列の要素はいくつかの32ビットの符号なし整数である.Bignum符号は別途保存する、Fixnumとは異なり、内部には2の補符号は採用されていないが、ビット演算表面には2の補符号が採用されているようである.rubyのビット演算では、負の整数の左側は無限の1のように見えるので、前のfの前の..記号は無限に複数の1を表します!
matzが言ったように、この謎は普通です.文字列、あの暇な卵が痛い猫...