Velikost videa: 1280 X 720853 X 480640 X 360
Zobrazit ovladače přehrávání
Automatické přehrávání
Přehrát
検証のためにえげつない労力と時間がかかってそうで戦慄した
コンピューターの勉強する楽しさを教えてくれるいい動画
「まだキングはお金をくれません」おかしいおかしいww
たしかにwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ここまでマイナス食らってマイナス10倍の悪行食らうのはのは余程運が悪いか検証してる人だけしかいないからこういうバグ発見はこっちまで嬉しくなってくるw
こりゃいかんだろ...って思ったけど普通にプレイする範囲では起こらないしええか
最初の一桁目を符号としていて「0111…1111」が+314兆って認識だからここから1増えると「1000…0000」になって-0という認識になるいわゆるオーバーフローってやつですね。
オーバーフローしたときに修正する処理が抜けているみたいですね。32バイトマイナス符号ありの形式でデータを保存しているため、2進数で256桁の最上位桁が1となると2進数で表した数字のすべての桁の0と1を反転した数のマイナスになるという基本情報処理で出てくるような処理が行われ、今回の挙動をすることになるんですね。奪う金額の計算結果が0より小さくなったらオーバーフロー手前の金額に修正する等の処理を入れる修正がそのうち入りそうですね。
専門家がいたww
なるほど...
32Byte→32bit符号付き整数型(4Byte)
キングボンビー「こんな未来、修正してやるーーー(号泣)!!!」
ここから推測できるのは、プレイヤーの所持金管理にはint64_tが使われているのに対し、貧乏神の悪行イベントでの金額計算にはint32_tが使われているということですね。メモリ容量の都合とかかと思いましたが、それなら例外処理を組み込んでいるはずですし、開発者がデータ型を間違えた可能性が高そう…
キングボンビー 「分かった!もう分かったからやめろ!お金あげるからー!」
このコメント伸びろ
よく初心者コーダーがミスするオーバーフロー処理ミスですねぇ。テストでも抜けてたのか、ここまでする必要が無いとしてこの仕様にしたのか。
ここまでいくことは想定してなくて、必要ないという事で設定してないんでしょうね。
@@gomaotsu-windon想定してないと必要ないは違うだろ
ゲームボーイ版桃鉄でも同様の現象があった。なすりつけカードでマイナスをどこまで増やせるか試してたらいつの間にか億万長者になってしまってた。
214兆円くれるのか!そりゃ歓喜の舞踊るわ!
でもこれ銀二食らったら一撃なんかな??w
キングボンビーでパパ活できる時代まで来たのか、
3:01 一生いらない知識で草
kanataLove me too
@@TOKIO-bokumetttt yeeeeeee
赤マス10倍で100兆以上捨てる様になるのか。2^31を超えたら逆に大金を貰えるようになるって凄いなー。(オーバーフローしている状態。)これだと、2^32を超えたら、[本来奪われる額-2^32]だけ奪われるようになるのかな。
-2^31から2^31までが本来の想定されてた範囲で2^31を超えた瞬間にオーバーフロー処理がされてリスタート地点が-2^31に設定されてしまっているのではないでしょうか。なので2^31×2を超えるまではお金をくれる状態が続き、2^31×2を超えたタイミングでまたお金を奪われるようになると思います。検証よろしくお願い致します。
すご、、、、、
有能
2038年問題と同じようなもんか
2^31って21億くらいだから違う気がしたけど、そうか桃鉄は100万単位だから、これにゼロ6個ついて210兆円ってことか
何をさらにやらせようとしてんだよwwwwwwww
ボンビーの頭が悪くて計算できなくてお金を渡しちゃってるって考えたらかわいいかもしれない
キングただの福の神じゃねーかw
お不動さんですね笑
ファミコン時代はよくあったオーバーフローが令和にもあったか
キングボンビーが慈悲与えてて草
2038年問題を示唆するIT教育系ソフト桃鉄ワールドってことか…
ゲーム作ってるとこの仕様のせいで所持コインの数がマイナスになっちゃってゲームが成り立たなくなることがあるから困るところ
うわぉ😂めっちゃ気が遠くなる作業〜〜ナイス考察👍
オーバーフローとか大きな数を扱うのが困難だったファミコン・スーファミ時代の話かと思っていたら、令和時代にもあるんですね。
オーバーフローは今もポケモンならずっと残ってる
普通そのサイズまでいかんやろ、無駄にでかい箱にすると邪魔だしこの箱でええやって感じに設定してると変なユーザーが箱を溢れさせちゃうって感じやね
Arkとかも恐竜交配した時に確率で起きる変異っての繰り返して21億だかでオーバーフローしてステータス無限に上げれるようなる
所持金が64bit整数でイベントで増減する金額が32bit整数なのかな。10倍する前にキャストすれば良さそう。
説明としてはオーバーフローでいいんだけど、符号付整数型(最上位の桁をマイナスとして扱う変数)ではなく、符号なし整数型(最上位の桁もプラスとして扱う変数)に宣言を変更するだけで正負の反転自体は防げるはず(桃鉄で使ってるプログラミング言語で「符号なし整数型」を宣言できれば、だけど)。そして、本来の意味でのオーバーフローは 2^33 に入ってから(桁が繰り上がって 0 から計算し直しになるはず)
21億と42億どちらも某ソシャゲでよく見る数字ですねぇ・・・
どのソシャゲですかねぇ・・・
最近じゃあ80億や100億とかいう頭おかしい数字も出てきますねぇ…
オーバーフローで先頭の桁のマイナスが消えたんだな
429と数字が出て即オーバーフローしてるんやなってくらいしか頭に思い浮かばなかったよ…みんな証明までしてて偉いなぁ
ゲーム会社と外注やIT企業ら勤務のエンジニアが発生するイベントでした
国家予算の大切さを教えてくれるゲーム
キングボンビー「術式反転黒」
たぶん100年じゃそこ(214兆)までもっていけないだろうという想定だったんじゃないかな。がんばったね(笑)
オーバーフローはまあよくある現象ですよ。32桁目で+/-割り当てているので繰り上がると反転するのです。
この不具合は修正済みか。もう動画で再現することは不可能になったな。
int型かlong型かだろうけど、プログラミング勉強してると仕組みが分かるのよね~最大値超えると処理おかしくなる😂
オーバーフローを令和の世でも見れるとは
核ガンジーも思わずニッコリですねえ🙏
内部のデータが2進数で管理されてて+と-がどっかで入れ替わっちゃったんかな
久しぶりに観にきたら、コメント欄にプロが沢山来ててわろた🤣
キングボンビーがいい奴の世界線
さくまハドソン桃鉄のこのシステムがブラックボックス過ぎててを加えられずにそのまま残ったと考えたら、コナミなのに粉身にして作ってないだろって思いますね(小並感
"一 番 金 銭 感 覚 が 狂 う 動 画"
やはり算術オーバーフローの話だった
他のゲームで似たようなのがありましたねDQ4(FC版)の裏技で、カジノコイン838861枚(16,777,220ゴールド)がバグで4ゴールドで買えてしまったやつと同じかな?6桁の16進数で扱っていたから、上限は16,777,215ゴールドまでしか扱えないところを「バグによるオーバーフローで16,777,215ゴールド=0ゴールド扱い」になるとか・・・DQ4だと「6桁の16新数」ってところが、今回はもっと大きな桁の部分で、「バグによるオーバーフロー」が起きている。んでしょうね
お金ありすぎwこれが現実であったら…
キングボンビーはメダルゲームだけじゃなくて、ワールドでも善行するのですね。
昔のドラクエ4でカジノのコイン販売額が振り切れて、1枚20ゴールドで838861枚買うと4ゴールドにバグるのを思い出したw
数字の一番上の桁は1,0ではなく+と-の符号として使われてることが多いですね
情報処理技術者試験の問題に出すと良いな
ネタ抜きでありだと思う新人で入力値の検証できてる奴ほとんどいない
まさか桃鉄でCobolの価値が・・・?
こんだけ持ってりゃ5兆入った金庫落としても1年間放っておけますわ
昔、友達と金賭けてやってたの思い出した…この人とやったら絶対に勝てないだろうな…
まさかオーバーフローするとは開発側も思わなかったんだろうなあ
記念仙人がドン引きするくらい赤マスとまってる。
そもそも赤マスに999/1200以上止まってる時点で相当やばいけどw
ここまで持ってくのが無理すぎる(笑)
開発が想定してない値に達してのオーバーフローって感じかな?これで数字がひっくり返るのは他のゲームでもあったりする
アンダーフローさせるのやばすぎ
一体何時間かかったのこれ。検証お疲れ様でした。とても数学的な回答でしたがなんか才能の無駄遣いのような気がするのは気のせい?。
金額はlong型で管理してるのか普通のゲームならそれで問題ないよな
おお、いわゆるオーバーフローやな
有能デバッカーだろこれww
コナミも困る
絶対オーバーフローしてる笑笑
修正されるらしいですね!!!!!!
今のゲームでもオーバーフローするんだ!わらわら
ちょっと前に修正されましたね
ミカエル超えの大天使やん
Switchでもオーバーフローするんだねぇ
integerの値域ですね
うっわ開発どこだ?オーバーフローやんけ!新入社員のプログラマーが作ったんじゃ・・・ってぐらい恥ずかしすぎるよこれは💦
ミスというより修正不要な仕様だろ
キングちゃんめっちゃええ奴やん😂
侵入者が勝つ方に、214兆7412億
オーバーフローが原因でしょうが、オーバーフローは、条件式を付ける事で簡単に回避できるため、仕様か、想定不足です。まあ、こういう膨大な桁を扱うゲームでオーバーフローを考えないことはまず無いので、仕様ですかね
値がCTOしてますね
32bit符号付き整数だー
アプデで修正されそう
オーバーフローなんて、静的解析かけられてたら、警告してくれるんだけどねぇ。。。
ファミコン思い出した
昔のゲームでも無いんだし、オーバーフロー関連のバグが残っているのは少しばかり気を抜きすぎじゃ無いか?
なるほど。救済措置か。な?
なんだこれ…
流石に64bit仕様にはせんだろなぁ宣言文だけ替えるならするかなぁ?どうだろ
単精度で1ビット目のサイン符号が変わってようだ。BUGっぽいな。
32ビットの限界超えちゃったのかな?
👼🏻岸田だろ👓💦
パチンコの乱数とはまた違うんかな?
符号付き2進数かな
アンダーフローは仕様でありバグでもある。
万未満のお金も管理してるの?
int型の桁落ちか
ガチだwwwwwwwwww
integer型?longでやってないんや。
普段触れているC言語系ではintとlongは基本的に両方とも符号付き32bit整数なのですが、longの方が大きいものもあるんですね
@@user-mn9fq9bh7j Cだとintとlongは同じく32bitで表せる範囲が同じですが、有名で分かりやすい言語で言えばpythonだとintが32bitでlongが64bitです。pythonだとintとlongは全く別物でlongは丁度Cのlonglong型にあたります。
@@user-mn9fq9bh7jJavaとかだとlongが「64ビットの整数」という意味を持っていたりします。(Cのint64_tに相当)
2の32乗の半分は2の31乗
核ガンジーwwww
この手のオーバーフロー、カンスト系のバクって、QAチームがまともなら必ずチェックするもんだけどなぁ。ましては桃鉄なんて所持金(数値)の増減がキモなのに…
どうやって4年目で1兆以上を?
んなことないよ😊
🍏🍏🍏🍏🍏🍏🍏🍏🍏🍏🍏
か!、ろW povpv
6fffffff
それやる意味ありますか?無駄でしょうよ
検証のためにえげつない労力と時間がかかってそうで戦慄した
コンピューターの勉強する楽しさを教えてくれるいい動画
「まだキングはお金をくれません」おかしいおかしいww
たしかにwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ここまでマイナス食らってマイナス10倍の悪行食らうのはのは余程運が悪いか検証してる人だけしかいないからこういうバグ発見はこっちまで嬉しくなってくるw
こりゃいかんだろ...って思ったけど普通にプレイする範囲では起こらないしええか
最初の一桁目を符号としていて「0111…1111」が+314兆って認識だからここから1増えると「1000…0000」になって-0という認識になるいわゆるオーバーフローってやつですね。
オーバーフローしたときに修正する処理が抜けているみたいですね。
32バイトマイナス符号ありの形式でデータを保存しているため、2進数で256桁の最上位桁が1となると2進数で表した数字のすべての桁の0と1を反転した数のマイナスになるという基本情報処理で出てくるような処理が行われ、今回の挙動をすることになるんですね。
奪う金額の計算結果が0より小さくなったらオーバーフロー手前の金額に修正する等の処理を入れる修正がそのうち入りそうですね。
専門家がいたww
なるほど...
32Byte→32bit符号付き整数型(4Byte)
キングボンビー「こんな未来、修正してやるーーー(号泣)!!!」
ここから推測できるのは、プレイヤーの所持金管理にはint64_tが使われているのに対し、貧乏神の悪行イベントでの金額計算にはint32_tが使われているということですね。
メモリ容量の都合とかかと思いましたが、それなら例外処理を組み込んでいるはずですし、開発者がデータ型を間違えた可能性が高そう…
キングボンビー 「分かった!もう分かったからやめろ!お金あげるからー!」
このコメント伸びろ
よく初心者コーダーがミスするオーバーフロー処理ミスですねぇ。テストでも抜けてたのか、ここまでする必要が無いとしてこの仕様にしたのか。
ここまでいくことは想定してなくて、必要ないという事で設定してないんでしょうね。
@@gomaotsu-windon
想定してないと必要ないは違うだろ
ゲームボーイ版桃鉄でも同様の現象があった。なすりつけカードでマイナスをどこまで増やせるか試してたらいつの間にか億万長者になってしまってた。
214兆円くれるのか!
そりゃ歓喜の舞踊るわ!
でもこれ銀二食らったら一撃なんかな??w
キングボンビーでパパ活できる時代まで来たのか、
3:01 一生いらない知識で草
kanataLove me too
@@TOKIO-bokumetttt yeeeeeee
赤マス10倍で100兆以上捨てる様になるのか。2^31を超えたら逆に大金を貰えるようになるって凄いなー。(オーバーフローしている状態。)これだと、2^32を超えたら、[本来奪われる額-2^32]だけ奪われるようになるのかな。
-2^31から2^31までが本来の想定されてた範囲で2^31を超えた瞬間にオーバーフロー処理がされてリスタート地点が-2^31に設定されてしまっているのではないでしょうか。なので2^31×2を超えるまではお金をくれる状態が続き、2^31×2を超えたタイミングでまたお金を奪われるようになると思います。検証よろしくお願い致します。
すご、、、、、
有能
2038年問題と同じようなもんか
2^31って21億くらいだから違う気がしたけど、そうか桃鉄は100万単位だから、これにゼロ6個ついて210兆円ってことか
何をさらにやらせようとしてんだよwwwwwwww
ボンビーの頭が悪くて計算できなくてお金を渡しちゃってるって考えたらかわいいかもしれない
キングただの福の神じゃねーかw
お不動さんですね笑
ファミコン時代はよくあったオーバーフローが令和にもあったか
キングボンビーが慈悲与えてて草
2038年問題を示唆するIT教育系ソフト桃鉄ワールドってことか…
ゲーム作ってるとこの仕様のせいで所持コインの数がマイナスになっちゃってゲームが成り立たなくなることがあるから困るところ
うわぉ😂
めっちゃ気が遠くなる作業〜〜ナイス考察👍
オーバーフローとか大きな数を扱うのが困難だったファミコン・スーファミ時代の話かと思っていたら、令和時代にもあるんですね。
オーバーフローは今もポケモンならずっと残ってる
普通そのサイズまでいかんやろ、無駄にでかい箱にすると邪魔だしこの箱でええや
って感じに設定してると変なユーザーが箱を溢れさせちゃうって感じやね
Arkとかも恐竜交配した時に確率で起きる変異っての繰り返して21億だかでオーバーフローしてステータス無限に上げれるようなる
所持金が64bit整数でイベントで増減する金額が32bit整数なのかな。10倍する前にキャストすれば良さそう。
説明としてはオーバーフローでいいんだけど、符号付整数型(最上位の桁をマイナスとして扱う変数)ではなく、符号なし整数型(最上位の桁もプラスとして扱う変数)に宣言を変更するだけで正負の反転自体は防げるはず(桃鉄で使ってるプログラミング言語で「符号なし整数型」を宣言できれば、だけど)。
そして、本来の意味でのオーバーフローは 2^33 に入ってから(桁が繰り上がって 0 から計算し直しになるはず)
21億と42億
どちらも某ソシャゲでよく見る数字ですねぇ・・・
どのソシャゲですかねぇ・・・
最近じゃあ80億や100億とかいう頭おかしい数字も出てきますねぇ…
オーバーフローで先頭の桁のマイナスが消えたんだな
429と数字が出て即オーバーフローしてるんやなってくらいしか頭に思い浮かばなかったよ…みんな証明までしてて偉いなぁ
ゲーム会社と外注やIT企業ら勤務のエンジニアが発生するイベントでした
国家予算の大切さを教えてくれるゲーム
キングボンビー「術式反転黒」
たぶん100年じゃそこ(214兆)までもっていけないだろうという想定だったんじゃないかな。
がんばったね(笑)
オーバーフローはまあよくある現象ですよ。
32桁目で+/-割り当てているので繰り上がると反転するのです。
この不具合は修正済みか。もう動画で再現することは不可能になったな。
int型かlong型かだろうけど、プログラミング勉強してると仕組みが分かるのよね~
最大値超えると処理おかしくなる😂
オーバーフローを令和の世でも見れるとは
核ガンジーも思わずニッコリですねえ🙏
内部のデータが2進数で管理されてて+と-がどっかで入れ替わっちゃったんかな
久しぶりに観にきたら、コメント欄にプロが沢山来ててわろた🤣
キングボンビーがいい奴の世界線
さくまハドソン桃鉄のこのシステムがブラックボックス過ぎててを加えられずにそのまま残ったと考えたら、コナミなのに粉身にして作ってないだろって思いますね(小並感
"一 番 金 銭 感 覚 が 狂 う 動 画"
やはり算術オーバーフローの話だった
他のゲームで似たようなのがありましたね
DQ4(FC版)の裏技で、カジノコイン838861枚(16,777,220ゴールド)がバグで4ゴールドで買えてしまったやつと同じかな?
6桁の16進数で扱っていたから、上限は16,777,215ゴールドまでしか扱えないところを「バグによるオーバーフローで16,777,215ゴールド=0ゴールド扱い」になるとか・・・
DQ4だと「6桁の16新数」ってところが、今回はもっと大きな桁の部分で、「バグによるオーバーフロー」が起きている。んでしょうね
お金ありすぎwこれが現実であったら…
キングボンビーはメダルゲームだけじゃなくて、ワールドでも善行するのですね。
昔のドラクエ4でカジノのコイン販売額が振り切れて、1枚20ゴールドで838861枚買うと4ゴールドにバグるのを思い出したw
数字の一番上の桁は1,0ではなく+と-の符号として使われてることが多いですね
情報処理技術者試験の問題に出すと良いな
ネタ抜きでありだと思う新人で入力値の検証できてる奴ほとんどいない
まさか桃鉄でCobolの価値が・・・?
こんだけ持ってりゃ5兆入った金庫落としても1年間放っておけますわ
昔、友達と金賭けてやってたの思い出した…この人とやったら絶対に勝てないだろうな…
まさかオーバーフローするとは開発側も思わなかったんだろうなあ
記念仙人がドン引きするくらい赤マスとまってる。
そもそも赤マスに999/1200以上止まってる時点で相当やばいけどw
ここまで持ってくのが無理すぎる(笑)
開発が想定してない値に達してのオーバーフローって感じかな?
これで数字がひっくり返るのは他のゲームでもあったりする
アンダーフローさせるのやばすぎ
一体何時間かかったのこれ。検証お疲れ様でした。とても数学的な回答でしたがなんか才能の無駄遣いのような気がするのは気のせい?。
金額はlong型で管理してるのか
普通のゲームならそれで問題ないよな
おお、いわゆるオーバーフローやな
有能デバッカーだろこれww
コナミも困る
絶対オーバーフローしてる笑笑
修正されるらしいですね!!!!!!
今のゲームでもオーバーフローするんだ!わらわら
ちょっと前に修正されましたね
ミカエル超えの大天使やん
Switchでもオーバーフローするんだねぇ
integerの値域ですね
うっわ開発どこだ?オーバーフローやんけ!新入社員のプログラマーが作ったんじゃ・・・ってぐらい恥ずかしすぎるよこれは💦
ミスというより修正不要な仕様だろ
キングちゃんめっちゃええ奴やん😂
侵入者が勝つ方に、214兆7412億
オーバーフローが原因でしょうが、オーバーフローは、条件式を付ける事で簡単に回避できるため、仕様か、想定不足です。まあ、こういう膨大な桁を扱うゲームでオーバーフローを考えないことはまず無いので、仕様ですかね
値がCTOしてますね
32bit符号付き整数だー
アプデで修正されそう
オーバーフローなんて、静的解析かけられてたら、警告してくれるんだけどねぇ。。。
ファミコン思い出した
昔のゲームでも無いんだし、オーバーフロー関連のバグが残っているのは少しばかり気を抜きすぎじゃ無いか?
なるほど。
救済措置か。
な?
なんだこれ…
流石に64bit仕様にはせんだろなぁ
宣言文だけ替えるならするかなぁ?どうだろ
単精度で1ビット目のサイン符号が変わってようだ。BUGっぽいな。
32ビットの限界超えちゃったのかな?
👼🏻岸田だろ👓💦
パチンコの乱数とはまた違うんかな?
符号付き2進数かな
アンダーフローは仕様でありバグでもある。
万未満のお金も管理してるの?
int型の桁落ちか
ガチだwwwwwwwwww
integer型?longでやってないんや。
普段触れているC言語系ではintとlongは基本的に両方とも符号付き32bit整数なのですが、longの方が大きいものもあるんですね
@@user-mn9fq9bh7j Cだとintとlongは同じく32bitで表せる範囲が同じですが、有名で分かりやすい言語で言えばpythonだとintが32bitでlongが64bitです。pythonだとintとlongは全く別物でlongは丁度Cのlonglong型にあたります。
@@user-mn9fq9bh7jJavaとかだとlongが「64ビットの整数」という意味を持っていたりします。
(Cのint64_tに相当)
2の32乗の半分は2の31乗
核ガンジーwwww
この手のオーバーフロー、カンスト系のバクって、QAチームがまともなら必ずチェックするもんだけどなぁ。ましては桃鉄なんて所持金(数値)の増減がキモなのに…
どうやって4年目で1兆以上を?
んなことないよ😊
🍏🍏🍏🍏🍏🍏🍏🍏🍏🍏🍏
か!、
ろ
W povpv
6fffffff
それやる意味ありますか?無駄でしょうよ