アカウント名:
パスワード:
編成数なんて1バイト整数で十分なのになぜ2バイト確保した?編成ごとに必要な量の2倍のメモリ空間を占めてんの?何それ馬鹿なの?
このプログラムを作ったのは誰だー!(C.V.海原雄山)バイトプログラマーが作ったのかー
バイトプログラマー「先輩、それじゃだめっすよ。2バイトないと10両編成が困るじゃないですか」
2バイト使うとあかんわ、にぶるで。
#難しい
128両編成くらいだったら、その気になったらできちゃうからじゃね?
あと、大陸横断鉄道とかその手の列車だと、300両編成とかもありえるらしいし、将来海外へ売り込みをする可能性を想定すると、1バイトじゃ不足だと言えるかもしれない。
これに一票。実際には、たとえば「世界最大で120両までです」みたいな事実があったとしても、それを調べる労力がどうみても見合わん。
それにこの手の仕様は変化することもあるから、多めに見積もって2バイトというのはそんなにおかしな判断じゃないと思われ。#まあネタにマジレスかな。
貨物列車も使えるライブラリを使っているに決まっているだろ。旅客列車と貨物列車でライブラリを別に作るなんて、馬鹿なの?死ぬの?
バイトプログラマー「文句なら、仕様書を書いた人に言って下さい!」
「フッ、たった2バイトの貴様に何が出来る…」 〜 バイトプログラマー について、あるAC
> バイトプログラマーが作ったのかー
いえ、ワードプログラマーです。
# もしくはショートプログラマー
おまけに1ワード18bitの人だったりして。
浮浪人プログラマーなんてのは、いないのかな…
# もちろん、「フロートプログラマー」と読みますm9(´・ω・`)
(「ネタにマジレス」なのかもしれないけども)
バグが表示器のものなのか、ネットワークなのか、もっと上の運行管理のシステムで起きてるのか知らないけど、制御用でも32ビット1ワードのプロセッサが普通にある昨今、わざわざ1バイトのデータとか作っても効率よくアクセスできない。
下位が編成長だと想定すると、"0"ということになってしまうから。
char [srad.jp]先生、出番ですぜ!
/.Jよ、私は帰ってきた!
むぅ、何か違うな。
そのぐらい気にする必要ないでしょ…
安全率を考えると仕方ない。「アメリカでは100両以上の編成があるから、その倍…うーん、もうちょっと増えると…」ってなると、1バイトでは危険。
昔のシステムからの使いまわしてワードの上位に運用条件なんかを入れていて、人身事故の発生を判る人にのみ伝えているって事は無い筈。きっと。そういやどっかの工場のは4桁以上は数値で無くエラーコードだったな。
かつてMacがMC68000を使っていた頃, アドレスレジスタが32bit有るのに対して外に出ているアドレスバスが24bitしか無かったため, 上位8bitを別の目的で使うなんていうテクニックが有ったらしいです.
その後MC68020に移行した際に, 隠れていた8bitが表に出てきて動かなくなっちゃったとか.
昔はアドレスデータにタグを埋め込んだりってのはよくやってました。Lisp の処理系とか。データ配置のアラインメントを意識して、下位数ビットを使うとかね。
上位1ビットと8ビットと23ビットで分けてるのを見たことがあるな。
360→370→XA→ESAを思い出す
# あれはアドレス空間だがな
逆に上位24ビットと下位8ビットと言う仕様が、ちょうど今手元に。多分どっかにBCDで処理されている(た?)物が有ると見た。
因みにそこの別の所のデータ出力は、出力パターンを解析した結果多分7セグの出力だなという事に。それをPLCで取り込んで新しいシステムと合体とか、どんだけ部分部分の設計年度差が有るんだよ。せめて仕様書位は残して置いてくれ。
昔と違って今時バイト単位の違いを切り詰める必要はない。寧ろ切り詰めたことにより、後々足りなくなった時の影響のほうが大きい。某ゲームでも符号ありintでやってしまったため、約21億しか所持金が持てないというゲームがある。開発当時はそんないくわけねえと思ってて、実際数年はそうだったがどんどんインフレしてきて21億どころか42億でも到底足りない始末。8バイト使わせろという事態になっている。
変数なんてちょっと余裕ありすぎね?というぐらいでもいい。ファミコンとかの時代はそれこそバイトどころかビット単位で削ったものだが、それは過去の話。
ただねぇ、こういう業界だと昔々のリレー制御由来のデータ形式が有ったりするのですよ。1ビットが1リレーとなると、変数の余裕ってのは最終的には凄いコストや消費電力の差に成ったりします。かといってエイヤっと全部を更新できるかって言うとそれも出来ないですし。
それは環境依存だぜ。
# ワードは環境依存だけど、エイトビットでバイトだから由来的に8ビットは確定だろ思ってたら違うと知ったときの衝撃。
日本国内の旅客営業私鉄に限るのであれば、編成両数は4bit、列車種別(各停、急行等)は4bit、行先(回送、試運転等も含む)は8bitあれば十分コード表現可能で、これらをまとめた16bit数をIDにして、テーブルひいて表示データを読み出すなんて処理は可能ですけどね。
そして列車番号で引けない
ダメぢゃん
ネタですよね?
いまどきのプロセッサを使ってるんだろうから。
組み込み系のシステムだといまどきのプロセッサじゃなく"枯れたプロセッサ"を使う。それに全くの新規構成でもないかぎり、古いライブラリとかインターフェース仕様がしぶとく生き残っていることはよくある。作り直したほうがすっきりするしバグも減ることは頭では判っても、懐具合とスケジュールがそれを許さない。
ちょっと待ってよ、1Byteで足りるの?というか2Byteでも将来的にも耐えうる確証も無いじゃないですか。4Byteでも私は安心できません。ここは可変長にすべきです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
なぜ2バイト (スコア:0)
編成数なんて1バイト整数で十分なのになぜ2バイト確保した?
編成ごとに必要な量の2倍のメモリ空間を占めてんの?何それ馬鹿なの?
このプログラムを作ったのは誰だー!(C.V.海原雄山)
バイトプログラマーが作ったのかー
Re:なぜ2バイト (スコア:5, おもしろおかしい)
バイトプログラマー「先輩、それじゃだめっすよ。2バイトないと10両編成が困るじゃないですか」
Re:なぜ2バイト (スコア:2)
2バイト使うとあかんわ、にぶるで。
#難しい
Re: (スコア:0)
Re:なぜ2バイト (スコア:3, 興味深い)
128両編成くらいだったら、その気になったらできちゃうからじゃね?
あと、大陸横断鉄道とかその手の列車だと、300両編成とかもありえるらしいし、
将来海外へ売り込みをする可能性を想定すると、1バイトじゃ不足だと言えるかもしれない。
Re:なぜ2バイト (スコア:1)
これに一票。
実際には、たとえば「世界最大で120両までです」みたいな事実があったとしても、
それを調べる労力がどうみても見合わん。
それにこの手の仕様は変化することもあるから、多めに見積もって2バイトというのは
そんなにおかしな判断じゃないと思われ。
#まあネタにマジレスかな。
Re:なぜ2バイト (スコア:2, 参考になる)
貨物列車も使えるライブラリを使っているに決まっているだろ。旅客列車と貨物列車でライブラリを別に作るなんて、馬鹿なの?死ぬの?
Re:なぜ2バイト (スコア:1)
バイトプログラマー「文句なら、仕様書を書いた人に言って下さい!」
2 byte (スコア:0)
「フッ、たった2バイトの貴様に何が出来る…」
〜 バイトプログラマー について、あるAC
Re:なぜ2バイト (スコア:1)
> バイトプログラマーが作ったのかー
いえ、ワードプログラマーです。
# もしくはショートプログラマー
Re: (スコア:0)
おまけに1ワード18bitの人だったりして。
Re: (スコア:0)
浮浪人プログラマーなんてのは、いないのかな…
# もちろん、「フロートプログラマー」と読みますm9(´・ω・`)
Re:なぜ2バイト (スコア:1)
(「ネタにマジレス」なのかもしれないけども)
バグが表示器のものなのか、ネットワークなのか、もっと上の運行管理のシステムで起きてるのか知らないけど、
制御用でも32ビット1ワードのプロセッサが普通にある昨今、
わざわざ1バイトのデータとか作っても効率よくアクセスできない。
Re:なぜ2バイト (スコア:1)
そこまでかつかつのシステム設計なら、上位11ビットに編成の構成情報のフラグ(扉の位置とか)を詰め込んで、下位5ビットが編成長、ぐらいまで頑張るだろう。
そしてそう推理すると、本来、マスクされるはずの上位バイトに記録されたフラグがマスクをすり抜けた結果、表示が乱れた、というこの件の原因の推測までセットで付いてくるのに。
Re: (スコア:0)
下位が編成長だと想定すると、"0"ということになってしまうから。
Re:なぜ2バイト (スコア:1)
char [srad.jp]先生、出番ですぜ!
Re:なぜ2バイト (スコア:3)
/.Jよ、私は帰ってきた!
むぅ、何か違うな。
char *A;
モータースポーツ部 [slashdot.jp]
Re: (スコア:0)
そのぐらい気にする必要ないでしょ…
Re: (スコア:0)
安全率を考えると仕方ない。
「アメリカでは100両以上の編成があるから、その倍…うーん、もうちょっと増えると…」
ってなると、1バイトでは危険。
昔のシステムからの使いまわしてワードの上位に運用条件なんかを入れていて、人身事故の発生を判る人にのみ伝えているって事は無い筈。きっと。
そういやどっかの工場のは4桁以上は数値で無くエラーコードだったな。
Re:なぜ2バイト (スコア:2)
Re:なぜ2バイト (スコア:1)
かつてMacがMC68000を使っていた頃, アドレスレジスタが32bit有るのに対して外に出ているアドレスバスが24bitしか無かったため, 上位8bitを別の目的で使うなんていうテクニックが有ったらしいです.
その後MC68020に移行した際に, 隠れていた8bitが表に出てきて動かなくなっちゃったとか.
Re:なぜ2バイト (スコア:1)
昔はアドレスデータにタグを埋め込んだりってのはよくやってました。
Lisp の処理系とか。
データ配置のアラインメントを意識して、下位数ビットを使うとかね。
Re: (スコア:0)
上位1ビットと8ビットと23ビットで分けてるのを見たことがあるな。
Re: (スコア:0)
360→370→XA→ESAを思い出す
# あれはアドレス空間だがな
Re: (スコア:0)
逆に上位24ビットと下位8ビットと言う仕様が、ちょうど今手元に。
多分どっかにBCDで処理されている(た?)物が有ると見た。
因みにそこの別の所のデータ出力は、出力パターンを解析した結果多分7セグの出力だなという事に。
それをPLCで取り込んで新しいシステムと合体とか、どんだけ部分部分の設計年度差が有るんだよ。
せめて仕様書位は残して置いてくれ。
Re: (スコア:0)
昔と違って今時バイト単位の違いを切り詰める必要はない。
寧ろ切り詰めたことにより、後々足りなくなった時の影響のほうが大きい。
某ゲームでも符号ありintでやってしまったため、約21億しか所持金が持てないというゲームがある。
開発当時はそんないくわけねえと思ってて、実際数年はそうだったが
どんどんインフレしてきて21億どころか42億でも到底足りない始末。
8バイト使わせろという事態になっている。
変数なんてちょっと余裕ありすぎね?というぐらいでもいい。
ファミコンとかの時代はそれこそバイトどころかビット単位で削ったものだが、それは過去の話。
Re:なぜ2バイト (スコア:1)
ただねぇ、こういう業界だと昔々のリレー制御由来のデータ形式が有ったりするのですよ。
1ビットが1リレーとなると、変数の余裕ってのは最終的には凄いコストや消費電力の差に成ったりします。
かといってエイヤっと全部を更新できるかって言うとそれも出来ないですし。
Re: (スコア:0)
Re:なぜ2バイト (スコア:1)
それは環境依存だぜ。
# ワードは環境依存だけど、エイトビットでバイトだから由来的に8ビットは確定だろ思ってたら違うと知ったときの衝撃。
Re: (スコア:0)
日本国内の旅客営業私鉄に限るのであれば、編成両数は4bit、列車種別(各停、急行等)は4bit、
行先(回送、試運転等も含む)は8bitあれば十分コード表現可能で、これらをまとめた16bit数をIDに
して、テーブルひいて表示データを読み出すなんて処理は可能ですけどね。
Re: (スコア:0)
そして列車番号で引けない
ダメぢゃん
Re: (スコア:0)
ネタですよね?
いまどきのプロセッサを使ってるんだろうから。
Re: (スコア:0)
組み込み系のシステムだといまどきのプロセッサじゃなく"枯れたプロセッサ"を使う。
それに全くの新規構成でもないかぎり、古いライブラリとかインターフェース仕様がしぶとく生き残っていることはよくある。
作り直したほうがすっきりするしバグも減ることは頭では判っても、懐具合とスケジュールがそれを許さない。
Re: (スコア:0)
ちょっと待ってよ、1Byteで足りるの?
というか2Byteでも将来的にも耐えうる確証も無いじゃないですか。
4Byteでも私は安心できません。
ここは可変長にすべきです。