コンピュータのプログラミングに詳しい人に聞きたいんやけど

記事サムネイル
1 : 2025/04/14(月) 08:26:49.694 ID:lcw9aZqow
例えばワイが0101って書いて数字表示しろって命令したら5って表示されるやろ?
ほんで1101って書いて数字表示しろって命令したら13って表示されるやろ?

でもこれってコンピュータが自動でこれは5でこれは11って判断してるわけじゃなくて
プログラミング言語が0101の時は5って文字を表示するよ1101の時は13って表示するよって紐付けてあるんよな?

じゃあこのプログラミング言語の紐付けって開発者が手動で何十万個の数字を一個一個紐付けたんけ?

5 : 2025/04/14(月) 08:29:52.178 ID:G2gbtubHY
知らんけど0から9まで定義して
次桁上げろで済むんやないの?
6 : 2025/04/14(月) 08:30:22.940 ID:wsaeW3WKT
256桁までや
10 : 2025/04/14(月) 08:37:58.957 ID:RPhD6H.6I
このイッチちょっと出来が悪いな
11 : 2025/04/14(月) 08:38:20.894 ID:m.EDEoeS5
1bitとは2進数の1桁、つまり0か1や
8bitは256まで表現できる2進数の8桁
int型関数は8bitをソースから中間言語に渡して中間言語が1bitに変換して機械語に渡す
14 : 2025/04/14(月) 08:42:00.698 ID:lcw9aZqow
>>11
いや言語間で翻訳してやり取りしてるのわかるのよ
でもその翻訳って機械が自動で考えたんじゃなくて
言語を作った人間が「この時はこういう形にしますよ」って考えて作って
機械にこういう風に動きなさいって教えた訳やろ?
12 : 2025/04/14(月) 08:39:35.035 ID:aR3mXaYOL
イッチ、君にはプログラミングは向いてないよ
というか学問が向いてないかもな
違う分野で頑張ろう!
13 : 2025/04/14(月) 08:41:37.905 ID:tcf0L2IWr
ハードに近いプログラミングする必要なかったらそんなこと理解する必要なくない?
15 : 2025/04/14(月) 08:43:21.151 ID:lf5SAshDo
10進数は理解できなくても2進数に変換してから計算してるようなものやから気にせんでええで
あと加算機っていうハードウェアがあるからそこに数入れるだけで答え勝手に出してくれる
21 : 2025/04/14(月) 08:48:42.754 ID:lcw9aZqow
>>15
いやだから10進数を2進数に変換してるのはわかるのよ
でも俺が機械相手に45って十進数で叫んでも機械はこれを「45とは2進数で◯◯ですね」とは理解してくれない訳じゃん?
10進数で45と書かれているものは2進数では◯◯ですよって翻訳を挟む必要がある

この紐付けって誰がどういう手段でやったんだ?って話

24 : 2025/04/14(月) 08:52:28.559 ID:m.EDEoeS5
>>21
C言語でもbit演算子やら基本的な命令や
数値を扱う時点で言語は2進数の変換も既に一瞬で終わらせてるで
26 : 2025/04/14(月) 08:55:28.214 ID:lcw9aZqow
>>24だからその2進数の機械言語と10進数で表記可能な言語の紐付けはどういう仕組みで紐付けられたかって話や
31 : 2025/04/14(月) 09:02:24.695 ID:m.EDEoeS5
>>26
それは単純にメモリの場所調べてるだけちゃうかな
メモリ10000の所に8bitの255があるならメモリ直で読めば11111111
逆にint型として読む時は11111111を8bitに毎回変換して255って出してる
35 : 2025/04/14(月) 09:09:22.522 ID:lcw9aZqow
>>31
意味不明
現在表示されてるけどどういう仕組みで2進数と10進数を対応させて紐付けてんの?って話ししてるんだけど
37 : 2025/04/14(月) 09:10:35.247 ID:lcw9aZqow
>>35
ごめん安価ミス
42 : 2025/04/14(月) 09:15:45.582 ID:lcw9aZqow
>>31
読み取って変換するのはわかるのよ
機械は1の次は2とか10進数の桁上りを理解できないから
19とは何ですか?19の次は何ですか?って聞かれても理解できないよね?
一旦2進数に治して〇〇の次は何?ってプログラミング言語が聞くわけだけど
その返ってきた回答もプログラミング言語が10進数に治してワイらに教えてくれるよな?

でもこのプログラミング言語も10進数を理解してる訳じゃないから(計算は全て2進数の機械言語がやっててそれを翻訳してるだけ)
この〇〇は19ですって翻訳する紐付けはどうなってんのか?という話

49 : 2025/04/14(月) 09:25:24.338 ID:m.EDEoeS5
>>42
細かい指定は中間言語でやってるで
んで中間言語ってのは次に数値を渡します、この数値の規格が255以上の場合は複数行で数値を渡します
とか言う感じで必ず破綻しないように規格と命令が決まってるんや
16 : 2025/04/14(月) 08:43:45.937 ID:xEt6AUnAL
機械に教えてるんやなくて機械に合わせてコンパイラやインタプリタを作るんや
17 : 2025/04/14(月) 08:44:27.150 ID:0Gvx5Rlfu
こういう命令(01の機械語)が来た時はこういう演算(電気回路の話)をするって決めてるんやで
18 : 2025/04/14(月) 08:45:59.914 ID:FC4GZIdNf
レジスタに代入して実行するアセンブラって楽しいよな
19 : 2025/04/14(月) 08:47:39.658 ID:AFiOSrIxL
こういうどういうことや?っていうのchatgptに聞けばいいの助かるよな
20 : 2025/04/14(月) 08:48:07.703 ID:3n7f/V7ia
わからんけど「5という文字を光によって表現せよ」という命令をマシン語に変換してそれを画面に出力する装置に渡せば10進数理解してなくても紐付けてなくても出力できるだろ
23 : 2025/04/14(月) 08:50:52.627 ID:lcw9aZqow
>>20
別に理解してなくて機械的に紐付けられた文字を表示させているならそれでもええんやけど
(文字コードとかはそうだよね?)
数字も何十万個機械的に紐付けただけなんか?っていう
53 : 2025/04/14(月) 09:29:02.630 ID:3n7f/V7ia
>>23
表示させるだけなら文字コードも数字も対応付けする必要がない
入力する際は変換が必要だがアウトプットにおいては例えば画面に表示するときでさえも画面の位置座標や色もすべて2進数で表せるからそれがあたかも10進数と紐付けてるように理解してるように見えるだけ
22 : 2025/04/14(月) 08:50:45.941 ID:mOI24w3nt
一個一個じゃなくて2進数と10進数の変換機能あるだけかな
計算も2進数同士で可能だし
25 : 2025/04/14(月) 08:53:53.613 ID:iR8vszC2F
紐付けって言葉を最近覚えた小学生か?
28 : 2025/04/14(月) 08:58:59.129 ID:lcw9aZqow
>>25
例えばワイが3って表示してって機械に言っても機械は理解できない訳やろ
ここで言語を一個挟んで「人間が11って表示しろって言ってますよ」って機械に教えて
機械は「よっしゃ11表示!」って動くわけ
ほんでもう一回翻訳言語が「機械が11表示って言ってるから3やな!」って判断して表示するけど

この翻訳は機械が自動で作り上げたんじゃなくて
言語を作った人間がこういう時にこういえ行動をしなさいって予め機械に教えてる訳だよね?

30 : 2025/04/14(月) 09:00:49.030 ID:3n7f/V7ia
10進数を2進数に変換する回路間に挟んどくだけでええんちゃうの
32 : 2025/04/14(月) 09:03:00.359 ID:g0mnle1nJ
アスキーコードの話なら偉い人集まって順番決めたんやで
39 : 2025/04/14(月) 09:12:10.492 ID:e/AHuubEi
ランタイム上で文字の数字⇔2進数値を規則に沿って変換してるんやで
40 : 2025/04/14(月) 09:12:30.683 ID:CErhzgw2y
10で割って余りを1の位から順に入れてけば0から9までの変換表で済むやろ
47 : 2025/04/14(月) 09:22:45.840 ID:lcw9aZqow
>>40
機械言語は10で割り算できない…
と思ったけど
1010で割り算させて
1001(9)、1000(8)、0111(7)、0110(6)、0101(5)…の9個紐付ければええんか?
48 : 2025/04/14(月) 09:24:08.678 ID:lcw9aZqow
>>46
>>47
これかも
1010の割り算で行けるのか

解決!

52 : 2025/04/14(月) 09:28:34.262 ID:CErhzgw2y
>>47
>>48
10で割るところを変えれば何進数でも行けるからな
41 : 2025/04/14(月) 09:14:08.261 ID:d0GZZf.TL
イッチが言ってるのはマシン語で
それを分かりやすく人間の言語に変換したのがプログラミング言語で合ってる?
43 : 2025/04/14(月) 09:16:01.559 ID:lcw9aZqow
>>41
はい
44 : 2025/04/14(月) 09:16:05.189 ID:g0mnle1nJ
三原色の光量をいじるだけでわざわざ専用のLED作らなくても全部の色出せるのと同じやね
45 : 2025/04/14(月) 09:17:05.416 ID:r0wh05zqk
ようわからんが中国語の部屋問題の話か?
50 : 2025/04/14(月) 09:25:53.330 ID:E2MZwBG/j
まあ確かに雰囲気で理解してるつもりやったけど詳細には知らんかったな

コメント

PAGE TOP
タイトルとURLをコピーしました