本ブログは2009年4月21日で終了しました。
今後はアイビースターでブログを運営していますので
そちらをご覧ください。
2006年10月10日

Ruby計算機

Posted by Hibi at 18:00
Ruby計算機
ここ数日、スクリプト言語のRubyを勉強しています。
いくつかの書籍を読んでいるのですが(いずれもまだ読み切っていませんが・・・)、時々Rubyの計算機の話が出てきます。
コンピュータ、プログラムは計算の塊なので計算機ぐらいでは別に驚かないのですが、表示する桁数がすごいです。

何がすごいかというとRubyはメモリーが許す限り永遠と計算するのです。
例えば、Windowsの電卓で関数電卓に切り替えて
[2] [x^y] [1000]
とするとどうなるでしょう。
結果は
1.07150860718626732094842504906e+301
と表示されます。
これは2の1000乗を計算した結果、表示しきれないために最後に「e+301」と表示されます。

この2の1000乗をRubyで計算すると
irb(main):016:0> 2**1000
=> 1071508607186267320948425049060001810561404811705533607443750
3883703510511249361224931983788156958581275946729175531468251
8714528569231404359845775746985748039345677748242309854210746
0506237114187795418215304647498358194126739876755916554394607
7062914571196477686542167660429831652624386837205668069376
と表示され、全て計算します。
試しに2の10000乗としたら下記のように表示されました。
irb(main):017:0> 2**10000
=> 1995063116880758384883742162683585083823496831886192454852008
9498529438830221946631919961684036194597899331129423209124271
5564913494137811175937859320963239578557300467937945267652465
5126605989552055008691819331154250860846061810468550907486608
9624888090489894838009253941633257850621568309473902556912388
0652250966438744410467598716269854532228685381616943157756296
4076283688076073222853509164147618395638145896946389941084096
0536267821064621427333394036525565649530603142680234969400335
9343166514592977732796657756061725820314079941981796073782456
8376228003730288548725190083446458145465055792960141483392161
5734588139257095379769119277800826957735674444123062018757836
3255027283237892707103738028663930314281332414016241956716905
7406141965434232463880124885614730520743199225961179625013099
2860241708340807605932320161268492288496255841312844061536738
9514871142563151110897455142033138202029316409575964647560104
0584584156607204496286701651506192063100418642227590867090057
4606417856951911456055068251250406007519842261898059237118054
4447880729063952425483392219827074044731623767608466130337787
0603980341319713349365462270056316993745550824178097281098329
1314403571877524768509857276937926433221599399876886660808368
8378380276432827751722736575727447841122943897338108616074232
5329197481312019760417828196569747589816453125843413595986278
4130128185406283476649088690521047580882615823961985770122407
0443305830758690393196046034049731565832086721059133009037528
2341553974539439771525745529051021231094732161075347482574077
5273986348298498340756937955646638621874569499279016572103701
3644331358172143117913982229838458473344402709641828510050729
2774836455057863450110085298781238947392869954083434615880704
3959118985815145779177143619698728131459483783202081474982171
8580113890712282509058268174362205774759214176537156877256149
0458290499246102863008153558330813010198767585623434353895540
9175623400844887526162643568648833519463720377293240094456246
9232543504006780272738377553764067268986362410374914109667185
5705075909810024678988017827192595338128242195402830275940844
8955014676668389697996886241636313376393903373455801407636741
8777110553842257394991101864682196965816514851304942223699477
1476306915546821768287620036277725772378136533161119681128079
2669481887201298643660768551639860534602297871557517947385246
3694469230878942659482170080511203223654962881690357391213683
3839359175641873385051097027161391543959099159815465441733631
1656936031122249937969999226781732358023111862644575299135758
1750081998392362846152498810889602322443621737716180863570154
6848405862232979285387562348655644053696262201896357102881236
1567512543338303270029097668650568557157505516727518899194129
7113376901499161813151715440077286505731895574509203301853048
4711381831540732405331903846208403642176370391155063978900074
2853672196280903477974533320468368795868580237952218629120080
7428195513179481576244482985184615097048880272747215746881315
9475040973211508049819045580341682694978714131606321068639151
1681774304792596709376



たのしいRuby 第2版 Rubyではじめる気軽なプログラミングたのしいRuby 第2版 Rubyではじめる気軽なプログラミング
高橋 征義 後藤 裕蔵

Ruby on Rails入門―優しいRailsの育て方 かんたんRuby on RailsでWebアプリケーション開発 はじめよう Ruby on Rails プログラミングRuby 第2版 言語編 RailsによるアジャイルWebアプリケーション開発

by G-Tools


同じカテゴリー(開発言語)の記事
 
Category is 開発言語.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>
削除
Ruby計算機