2038年問題

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動
白銀のミヤコ様.pngEnpedia:おすすめ項目 (仮)に追加されています。
ピックアップを編集

2038年問題(2038ねんもんだい)とは、C言語で使われている計時方法time_tをシステム側において符号付き32ビット整数型で実装している場合に、time_tの起点である協定世界時閏秒は考慮しない、以下同様)1970年1月1日0時0分0秒から231(秒)後の2038年1月19日3時14分8秒に発生する問題のことである。これを過ぎるとシステムに不具合が発生する可能性がある。最上位の1ビットが1になると「-(マイナス)」の意味になってしまう可能性があるため、時刻が一挙に1901年まで巻き戻ってしまうのである。かつては符号付き32ビット整数型が主流であり、限界の半分に達した2004年に2つの時刻の平均を求める計算で問題が発生したこともあり、対策が進んだ。

解決策[編集]

現在のところ、ビット数を増やす方法しかない。現在では符号付き64ビット整数型が主流となっており、この形式であれば少なくとも人類が生存しているうちは問題は発生しないと考えられる。以下に、考えられる代替整数型と、その整数型で桁あふれが生じる日時を記す。日時は[1]による。

  • 符号なし32ビット整数型...1970年1月1日0時0分0秒から232(秒)後は2106年2月7日6時28分16秒。実際にはこの方法で対応したものもいくつかあったが、ドラえもんが生まれる前には再び問題が発生してしまう。
  • 符号あり64ビット整数型...1970年1月1日0時0分0秒から263(秒)後は292277026596年12月4日15時30分8秒。現在主流の方法である。これは現在から3000億年近く後にあたり、とうの昔(現在から80億年後)に地球を呑み込んだ太陽白色矮星となっており、更に宇宙の膨張により地球上から局部銀河群外の銀河は一切見えなくなって2000億年が経っている。人類が太陽系外の惑星に移住し生き延びている可能性は0ではないが、そのころには桁数など関係なくなっているだろう。
  • 符号なし64ビット整数型...1970年1月1日0時0分0秒から264(秒)後は584554051223年11月9日7時0分16秒。これは現在から5800億年以上後にあたる。

(以下、符号ありのみ列挙する)

  • 符号あり128ビット整数型...1970年1月1日0時0分0秒から2127(秒)後は5391559471918239497011222876596年4月18日16時2分8秒。これは現在から約5.4×1030年後に相当し、この頃には宇宙空間にある全ての恒星は燃え尽き、宇宙には黒色矮星中性子星ブラックホールしか天体は存在しないと考えられている。
  • 符号あり256ビット整数型...1970年1月1日0時0分0秒から2255(秒)後は1834652618499343590337415746119712509834124421548072260582352567003896年1月25日17時6分8秒。これは現在から約1.8×1069年後に相当する。この頃には陽子崩壊が終了して宇宙に存在する天体はブラックホールのみとなっており、それも小型のものはすでにホーキング放射によって蒸発していると考えられている。
  • 符号あり512ビット整数型...1970年1月1日0時0分0秒から2511(秒)後は212438259720751818800086031727744905900280955850748725316113568948638702972225374884143980352837996326293360939714425696970890642606208767349168787年8月8日19時14分8秒。これは現在から約2.1×10146年後に相当する。この頃にはブラックホールも全て蒸発し、宇宙は熱的死を迎えている。暗黒の中を光子などの素粒子が飛ぶだけの寂しい宇宙となっている。以下も同様の状況である。
  • 符号あり1024ビット整数型...1970年1月1日0時0分0秒から21023(秒)後は2848331383307101249400298848236396109513328440183808900071053775373056875161786270307545502531542590379452899631615140740759591877162544444926864778313731382830760927494922280141349196228553602379803394068048868737990771135667077122561030459165182321210085668042121086978667108573725946422762190875540年10月22日23時30分8秒。これは現在から約2.8×10300年後に相当する。
  • 符号あり65536ビット整数型...1970年1月1日0時0分0秒から265535(秒)後は現在から約3.2×1019720年後に相当する。
正確な日時(年は2万桁弱あります)
31744668027616331022385690981186265239555225035195912128411783459170804258223535864450821024808310829592132889496223576691166963496962771766891592774256953414972426232995372746492551299677657841956414375901322639939359779734739984764250476456074036706589345332922978259340300132779886943377936186718406196237933979804943532048211988532367038105307524110537542350138261421626823349413247220850577131009171506865488274603469993013906715776778849040305192261219691979061093476219225556126963449368868288847756979419516002244419906047313320693889115626442040412530473001727981313761988780499610099261881269340229079198358801790000002278334759242986433145775864707200682993016783158084796840499620829415532198852207652978629064227949342210461862455942630661542820505668027161734090022608782870974897596971773654065630285887285942082588566917128495241825729053267824997133016997633231498785782031591859059145890253789307916517376110280228061669864219105215186657620378962881113173087557401542240000025027020507103918403750809957202150580989567625255118662961923052646570629547688653698135999705415527259525551537098143554927081483399968696232335183314431144871373502513037744794452521263023039824910529287310002935801809119012919671850972127373708366802889145708528069236639674027536680652407295065006223672828339057832291647464317551047224018830472831965851616291833065575116791318525390039276406284517890338239290481851899536563988530636459526728272603166072239324498184050355944278877457273696778766463057836786790467762693174261893230171325480728401561474124779815930336551749196945881413277927478876376921801196199164030354134116410616778026724277134175994548846126215853789980290892705686808061926612294008697764147231957249207152997308654661137950122902211981448307551858297455135665962127195796222475647845809747886847859237572452785534069658271025443409869320893367031445514531192300946943126703401221366067007604785820908813049310053861693828823859470526893861450140424636190888942734853111983187757495565559019611489620461515886246364865844256862005108109308089046033585255939276089367023344346062805869754969837860529447980640887930971151367701468146250894216824366654689083194278975374521159024728463015666639644794351775232527640934960802763010907032779647495587739782315163212922755795339978100283220222106073903854852236807950243484802792083209550037426411582172137924807556053544416054324488185679601820802069589520122634967768925693251654109759517263041618056649410132207649190205119673898877034198769513086043162049699199621582377089202857244737701916848693015073997983855669979550967777438800622318416663413450731982666685651570662410295565953264869200999488676890139095238745163861655213578298576663168960201903758927108689994444263929779146032037203007597052529000334970411834738403107614821042632751554102785835687487407808516758927408138254641728026523007533948356803065712461470274651993809100945643269569132886214087324707939510201179885754581200949515482332271074173741069373367605508181069557677887818640216760580817644948255636478470812272294205130556412237732139065341944457991104314597924669469097351779078604978574211928413379638982553506363731752964796052006228234391735202957504141977545324304509408682913606231597057786165442197143446111050206404335786492879550590306979290034090626792855035690698901754774749676814853822046114267661100549371252773813722185807081334920543263668051520494878821626867646718641233231270401499696822856665150148079231276963757730585733304628505605755663016617520068375566407144097608310312597564431699999588763736378425340046981904159784491485433740302292814781814514524187030204524794135417793834421030296702041220260423537974831806000689957734801198200102615806854084694329024935433719870542814258466929678169992789817192312213406161898432704514193855432893306358382239136898025640497378100221376988329328345210821778717142358365277493152738634610810586850542116100905044931138911424052067351072151482615189220000051726584041162657335767233521648597988634503013584904780398664298703584044228220481419583383334652641201623622774170761450801402655111089067771633004936883051168737697118557119948237368560338622428998663339130124783766324457389765561444229959338518052535999894896549480093066684504614523408852960909499086519567912291060642422264651670482148979702129173806116213558625169532697922325185235705514503919062503665382684371217668493615604087123038839684891281666697559071007768900225909210055016814528200727719690983046853390097067500451473639055928390421042554725379028447676082581191689226567654042987099321440315800327535955995909052824373570818132424248228736189614790736859620370549942531636633199124401974997413173047722387349756132193962348801423208317628153663504243540135912931091003624342738333150745704702189170760741343087600887282081499524986181204118879012696277383603171127758375138973852644248029285883848605937838076026434228869740287923950777784430245528416374872577754411529283726315726765327356058849219109698549530788104125720829942545288062418626043941081663988745441694387954976304931763275347633835920138570063990206153054826518055140194214935624540702243201307649613817761725460451756667480329158390105019558267440459555487855693557592808939157049478755496147974180735764908884948438698804686404729816439749183678414935470876893203789792690136593177847597466071081234273329695727260533670316301824306646755922806670985237241188182346130855173267509460113938182853646076484443612579432121624233954998135682413761809452984303377970664794697378323487067195219990019979451525564960647096774380061326265713623744573288783742390486615049744753033662992926028185875491845037850335355095537120732804392677199130122562199725406827399623098309960082663430563096467343580398764672729872347728367533742446040045207227636339715622413611592587861800383622576331061870454057075097381434455859361144788061307365132090395446653632547823168347299301134428688516778158725699910206713145903017743235128367553682019212963970864059995578285632018067957059898932805516013021950428558512817664170151114612256881312815662879648806807667545556967684314821358274596673442824556748932742497967264123967259972973406254865752379600189294790584367099497621447797504481259055546101353659603241458085685419620545276147066062967514369110917726372337341017465812105963763911487239414089205535273807342142469361175122066779408187806655984959765291735096621154847404951811229420859928573065444704322909669150117432044969888491644009242455775181459682186775308501041268353740845605882441216589754401999606229523634296690779473474305071784185668685860836764619148193591722344029743538909539184744687989466363861562572006272228335686256739181923618790921221774997331888414963877463305744346068261121422972875688539360976903708991775189979005177338163433889142206184697422768481596457522042093197196968146574791073369736800712072230910104273620279802439987378951803987631251668345547026335683331946610203939723375352565843914808260056803006199012415007241119369457345267304911039640101911857774035259791171665649846177455498298119111967341569786184856302968576600360340486342491069245260693320263208103058486182958439030933224833135311303757859183355118523674998462594420203776883241004955192020288257685292430021800420025380788795891214567343562021800525087744382818480145329403212170433966192053299793069933370594274631674661437089452377800403876154495156837441745311494614771523874820735592087200139422016085522648649338613638977103790647955371265187652843755683177264798380036564222488383184434618504872987506617269022654122396626952953886543081564091212893712902806009608924985878881018503686283533482879688632486124799165924713137566536646726592120556776575099814232586822279537795546965835084783572100572090741198112167398824139333434408332469414541852717859917927629085272163573200774727140083536423106511411206277046498622786060329648070578153671120317774841656808407283041880960811657186514873895117596337733852028066342482632329273207113771403029436482275983404276862348816036624679509408678408021446786441719592273584953490639721609742015926475683420114322688502090350558874530352343839799618244898557619046532785570808333835644007369987169387880336472614849850219650355921699993135875948494717327832441716248404290734253034097704289209181870651545830896235618329101844917827823623147753402363539144617424250177556201516461806048250702575428114682011243734739874146980715505173814347656533443441715525404697740087821895017459888986266868763777828366405487360842276949839481614809314748897780194678981468925585728392438296193093922176756192222211047856904535246202888148640543229335298754582502403067100532090031574319998100886039622973385028883752759465748288884800767648772288889615326248486342280872577159694101056047921732791232308392218211593330508519614537075140439714136917400809020356543960642430357714273595398355145504981391203466545396531806769952945925144538281336624453231592348231268303145206373301315966277213267809064945059780858695437275210429912291093100461620909237456787492224930738703992769458123520320206153884734349120150768585883797079352890061103702729810070177497350762355444165768725446939991645673717959379543132872368645879513273898699357520929483791379248774255038395698560572188193427205464530060943738626310595769034765819174001249900216582398143018105541289549621015981269095860506644736371562849404297078017367975696676063493711252895710776008255161055421363956558157729263448534193926085668669594095843688299038269183283690901612818652882995853397869894277074701620186339278872114280784905094071374339541247132712670380108086207792327739400294140242651138596888289532189878411592792587407696232353917353180682265541395750308547303914868162247212042594935619288388697329790381394056508119886714282548648347745468018904967036749556525473863998651420844635225404087012682307675329638084301600636745027261119409529602753035164491891631118105931660556120244215329926142211177714848415154323918862207005355557955240420169705211178576638561348013726171294642793073400796522718792186355774149073796647507933153945113071777917814153887700098643076522082708575911164035891268350828033338613946118680203053785054000780440435212202450494509041230759331015198432047364019431552093505003442074554839030552367259370541855763841483079724850050994841538435412494305203007902741287735057972789574705964515605591163546376898360840553516398847455053767490131490644592146867352516762327248663424082820796615272364838630045780822716093737133019196065607695737547122260186725875009326258568696759125970805764293869496558048790239944214265291578173353108619521378695397029767915530194909508213558596009573399361875208538706092065876782742152315493031301287297325025127218604581925148418705436679747060895673432214971849030670662188178345149044849808996004748058105464744808369186425164163381138517335630830412235762289506132939920750729045611250746711513085155742748606113066139753736794106598678448114917361468516384622254365452892512744966285248609969491212299410029807222071611082924061911889313333553493742513540371113979765075913182703040696965662067862716122963349404651649515067894272384229915194466394261077516925932370797480821026314835869178635234540505632801976782328986487450540459081536661444812316038609643220934696633595973867147367824400141319517040625194150000936393803657210760952585413882708929277033888379730128729773737515513883973180552040104045102974901555984766486481334597091929768533355267657513042669183204606889040177972597441817865697448814498465706388451927711593046884152104988329023003745559204408820823599221019965156021399584236629709804140244699444218465379983448227845256193109900615568267827499533410978315736621053757830952733925286317600625321570132927016192587425606331198850864721068352561691533005048923738011881115931021889310275880904884941603098714045090830087410702020232306026457415479437008718038906557646029454185137466288009936362381952418730106947657473147035033130245768170130534963966669488653260166903642202951181903973170916863152426251369444922739942212253350169902931487216362574559211925670036580646654121700919678774527916274916493652829628607782498444861597252034661076947662104428394286276997968961952057545149767850828805092182972466326435568491004308167962468055646838591047361886924673944640324479619781149199976033414105947441973252507462354002753891034488056101025166460514719669453826838407614385382897768007389250428167726524273871046557191535125284272940627529002442782563092200325998760197121280471468416529820028149507482823630356630034974693747834109348612769300803558241550339903877795022341283488238353143259374567951491826006677329487537629229007786357993647673083863847468131005538012857992297593398204925887071060703820837930537376160375409062036325152541704118987018748229489053169749436374166245806216904156206618121562595984715846125443896732088531063987661830604056354944351623264483427116719956727252429804228191368712723709839408148236071482735849267838734565075223741095375163347234318734497146087810262705643482924180326446681712926683181678876918217915012843405775194698860256697710580055259103291780398748051789505692626418543746749979573313128781369091908476941112091444446092392086885889263408008093246629614570790964748466620122522816582515543114749187408590837361533835284459103847099963867034622688102899933818697333389597165588058360860409103768769637939062702614453536425290944728082971819015826085660473344472754555922048599875211329862140454472387206482002201556573118843942898301686513136557139464629568835631894306869233240730436947034391044713606815331943262775318872473988527616747047197939907923279557678901446963242502201584070371992691970406711687039558512565803938540157372244095884333451042509777579104728397180955174094466997219641779877609095637181998433924926603393629648751884377108876334594818078032549344549646356654123074627169605214443255023261648412958378723585523182270572757992431876783895202853242172123005851723932513893554060354966522498453359393931538488102367555825178224955355051961457932194962227018690488628620648068628789916252956241175188877078564801152338013437214342624594730258607319874470719373804655060172090130467786812477378063995989096156425445465210400708511920648661897321045307722457850647382254399825373704089496909165282333687009157871255441832276304312794392096145362009447565385297436607396550097317716716469905519796336695038291517420917738390768554872221033224717738957828725576747553251323149702478099716629788575785991345277955538156439802743293895536874399677159834754045583909043024982378507712292991179285433405302658363220108050900778702659461056580086679884755577975712656685802059910652263005315177442458523212452959896475689888473118860226303082592195908589330275256043377402648518334527940564995221108749296455497980104184043710600896751719920335340000475647203374096256435908122466489217176069379083146508327758699882382785322363893306194800342612620365717090501178706361754899292436880321414160647069391244309571419276697268194434198550352018176227864812696901873538253988448122088197812200941519366768601898958783488620566310566677088135923523755961307920060327705314166772099528202395042471485439655428587844739651395326373830934110337197818305467487970267469682382729773980828863940937372111245808161205981733035733124008950449704903419034641158685616902379681906878282314114229648876621178837326330565932859939142812526281947124440252715888607299845376863009677984100418311794639107761110559013363391478525215821337901929240512927946062518690470300456825922204641634230521364835982017880242134714133624057479839533897557022579695973552059841840904542945026031230429826646598911491612343197995143970410808006172628400211427006207267671046716416147071765230587709118944014724791337526648547693787773667272460486151499663609499981395745220443452570002645742471087545080361024083181980489783467577740893945078606431129082322565763716501637893114850342328315250259063204854371349003496871012472981915023145014829188805316739264680702605029680650216087659239064972606338769374875953418428860104644467951311497325878457485566108629869853776869130944597146405685608315864590753302157355651027506809799674712160030230892294959024429602703149354401353541003796849030899686477873331874553490764204531716837112223408999036805370362609274309195814455888804025661803734771716267743503504384117897371219108730700053562817270112437292056162722468312036605611300725881668279173643541920346754958442022822224060569253277965604367482142322212888964431800344749784913636315326840444540058829516008437812948633472538595049679977999424079844935859852449165732639530736649955001424903216604802558036169892650663263947796094632512853843176950229927010114605080462812494520281292009615128363600990176009876450875740063238929979327012026800260176738998311424259874902403034793597608371681931453774001532134877626095550895552690515006414582959638388158390304684364298030703574359792840544335068061855368063650320275316961896336706989657578044837698902522446940897567126592380635204339307222169105944669218957928877037434850183463002800360345061525651168730016357055530586932828663005757001971983970593707032996257477137891374614078801990843432955771691458568992099951121367074388912484810696642480606377563911536491289069884232932896343621577328003871242361685184970659791554029912829140616318504432171354912322357955087486269221163146886866954331561357098825995797208246686020757118862293049848203777941833607053850027502306579363795021008866755320565878630682288940690259278363930289161114193865103037993402245113836010035209940762332036995574955247762610008019510363032051582937788341693476978429193253705037990698344093276550660688990426839246547762169292579624701525436349837740081290772966824054392080218034798472949011869487723785654382767367889901756271674664021600755934412290551797965796101370020500323740866783574641918648011761436075380452229095939933368009423785600872538997510134650486624800563946997692111592176581642891881447471088618037308544745754278155792104490201974496894481013410164039952390557677032962462965660178012707253858180379913578050269030744409700769234401480680207975809455145956619741425793791115325359404884616538673809965121877352049567174917704322285393947134643564057313373357905567823336454271107360701303860090146247775260049920000723082570005425480763072257032543375876653283860508339158487098685527862153367856043755062561435677903358954842943290661855798908627702718658637439216271778467552032329764424580642868710147748889443738823283325210247249224244399319008135375293467695167354579687031964284281284435857792037583328638658250666813081913484076965519722262134174702846532342705691208104747735244206359566561531602533669538058161508717001728160323603809859661758664187985205686548501643818611929011450071882816126943025796120039670992959720217143643405198631159744941787532779547317108820180808205996284526499694889404822358807939577783254229195441015896232787422078123245420117133361951856480653328875982743550919076816213847541818635103231482009519729275569303110634642987466794300174067098512280944273161290492671857195916480914595200184240770461303147120558259248485401124528874977297396470543267902925114822733639664195606904279513689947830218921204037388284134010591628421100835276044342305449129958457066378091574572360430316115241794707090640505089745659793782236203912448787353781670089930511113526502857263523136967225377639751103008192405261587981763452481103299724885286476235041235287484518879002825118175997804241805695597757114701681009039062326026933021432896556345913533253170089385131015901792033913716902940080204130964355770260580607493206188450年3月24日9時6分8秒

脚注[編集]

関連項目[編集]