class Idiot:
__init__(self,x,y,z):
self.name = x
self.sex = y
self.why = z
printing_idiots(self):
print('{} is so idiot.'.format(self.name))
print('{0} is {1}.'.format(self.name,self.sex))
print('Why is he idiot,{}'.format(self.why))
setting_idiots_data(self):
print("What is idiot's name?")
self.name = input()
print("What is idiot's sex?")
self.sex = input()
if (self.sex = men):
print('Why is he idiot?')
self.why = input()
elif (self.sex = woman):
print('Why is she idiot?')
else:
print('you are a bullsit guy!')
idiot = Idiot()
idiot.setting_idiots_data()
idiot.printing_idiots()
このソースコードのイニシャライザの部分でエラーが出ている。
探検
プログラミング超初心者の質問
■ このスレッドは過去ログ倉庫に格納されています
1名無しさん
2021/03/26(金) 19:47:53.89ID:UdurcVDt48デフォルトの名無しさん
2021/03/29(月) 18:53:54.10ID:1yKvh1aU あわしろ氏は絶賛vi派らしいね。
49デフォルトの名無しさん
2021/03/29(月) 19:01:49.89ID:Udan+rq5 c言語やってからPythonとかやろうとおもってんだけどこれでいいのかな?
ネット調べたらc言語理解してると他の言語を理解しやすいみたいなのかいてあったけど
ネット調べたらc言語理解してると他の言語を理解しやすいみたいなのかいてあったけど
2021/03/29(月) 20:21:18.41ID:E8Vxdp4r
一言で言えばCとはseaつまり海なんじゃよ。
海をうまく旅するには羅針盤が必要じゃろ?
羅針盤の役割をするのはお主の設計哲学とか思想とか、
何らかの方針であってルールを作り出す力じゃ。
いきなり飛び込むのは無謀じゃがすでにお主が持つべきものを持っているなら可能やもしれぬ。
おすすめはせぬが、自信があるならやって見るのも手じゃの。
海をうまく旅するには羅針盤が必要じゃろ?
羅針盤の役割をするのはお主の設計哲学とか思想とか、
何らかの方針であってルールを作り出す力じゃ。
いきなり飛び込むのは無謀じゃがすでにお主が持つべきものを持っているなら可能やもしれぬ。
おすすめはせぬが、自信があるならやって見るのも手じゃの。
2021/03/29(月) 22:41:43.25ID:64Cowzta
ここに書いておいた
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/96-139
結論としては、Ruby から始めます
C から始めると、まず挫折する。
極めて挫折確率が高い
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/96-139
結論としては、Ruby から始めます
C から始めると、まず挫折する。
極めて挫折確率が高い
52デフォルトの名無しさん
2021/03/29(月) 22:42:00.42ID:wUhO1QN7 無難にCからやるお
53デフォルトの名無しさん
2021/03/29(月) 22:42:34.40ID:wUhO1QN7 あらら
54デフォルトの名無しさん
2021/03/30(火) 13:48:36.78ID:rMZjDh6L >>47
まずC言語が基本で、C++はすっごく乱暴に言うとC言語にクラスみたいな機能を
追加したオブジェクト指向言語
ベースはC言語なので、C++のファイルである「.cpp」とかのソースでも中身を見ると
クラスとか使ってなくて、ただのC言語で書かれていたりすることもある
C#はC言語っぽい文法でVisualBasicの機能を実装したMicrosoftの開発言語
文法がC言語っぽいのでC言語が分かる人には敷居が低いとか、コンパイラで
なくインタプリタでVBとC#のAPIが等価に動作するのでVB経験者ならすぐ使えるって
言ってたけど、使ってみると癖が強いのであまり評判が良くなかったりしたこともある
一応C言語が読み書き出来る人ならばC++とC#は眺めると読めるような気がするけど、
実際に書こうと思うとそれぞれ勉強しないと何もできないかも
>>49
C言語をやったからといってPythonhとか他の言語が理解しやすいってことはあまり
ないと思うよ
ただ、プログラミングの基本はワークフローの作成能力(例えば典型的なのはフロー
チャートとか)と基本的な論理演算の理解で、C言語のテキストは最初にそういうことに
言及しているものが多いので良いって話はあるかも
ぶっちゃけ昨今はお金もらってコーディングしている人でもネットのコピペだけで乗り
切っている人も多いので、動けばよくてトラブルが発生しなければ、いきなり目的の
言語のサンプルをコピペで使ってみるのでも良いのかも
コピペで動かないとフローの理解とか論理演算とか出来ないと詰むのでちゃんと
勉強したほうが良いとは思うけど
まずC言語が基本で、C++はすっごく乱暴に言うとC言語にクラスみたいな機能を
追加したオブジェクト指向言語
ベースはC言語なので、C++のファイルである「.cpp」とかのソースでも中身を見ると
クラスとか使ってなくて、ただのC言語で書かれていたりすることもある
C#はC言語っぽい文法でVisualBasicの機能を実装したMicrosoftの開発言語
文法がC言語っぽいのでC言語が分かる人には敷居が低いとか、コンパイラで
なくインタプリタでVBとC#のAPIが等価に動作するのでVB経験者ならすぐ使えるって
言ってたけど、使ってみると癖が強いのであまり評判が良くなかったりしたこともある
一応C言語が読み書き出来る人ならばC++とC#は眺めると読めるような気がするけど、
実際に書こうと思うとそれぞれ勉強しないと何もできないかも
>>49
C言語をやったからといってPythonhとか他の言語が理解しやすいってことはあまり
ないと思うよ
ただ、プログラミングの基本はワークフローの作成能力(例えば典型的なのはフロー
チャートとか)と基本的な論理演算の理解で、C言語のテキストは最初にそういうことに
言及しているものが多いので良いって話はあるかも
ぶっちゃけ昨今はお金もらってコーディングしている人でもネットのコピペだけで乗り
切っている人も多いので、動けばよくてトラブルが発生しなければ、いきなり目的の
言語のサンプルをコピペで使ってみるのでも良いのかも
コピペで動かないとフローの理解とか論理演算とか出来ないと詰むのでちゃんと
勉強したほうが良いとは思うけど
55デフォルトの名無しさん
2021/03/31(水) 00:31:35.67ID:bvWdAAXY >>54
ありがとなのだ
ありがとなのだ
56デフォルトの名無しさん
2021/03/31(水) 11:25:22.14ID:qcdfttW3 Visual C++ 2008 Express Edition
でc言語も使えるみたいな記事読んで動かしてみたんだけど、intは規定地としてサポートしてないというエラー出たんだが、使えないってこと?
でc言語も使えるみたいな記事読んで動かしてみたんだけど、intは規定地としてサポートしてないというエラー出たんだが、使えないってこと?
2021/03/31(水) 18:53:36.83ID:+Payym2G
まあ釣りなんだろうけど素直にVisual Studio 2019 Community Edition入れとけ
2021/03/31(水) 20:40:37.29ID:Dmfl5kzC
VisualStudioならいつの時代も拡張子CにすればC扱いになった筈
C++と混合も出来るけど、C++側からCの関数呼ぶ場合はextern Cとか書いてたな
最近VisualStudioで開発とかしてないから懐かしいわw
C++と混合も出来るけど、C++側からCの関数呼ぶ場合はextern Cとか書いてたな
最近VisualStudioで開発とかしてないから懐かしいわw
59デフォルトの名無しさん
2021/03/31(水) 23:25:09.97ID:qcdfttW3 始めたてで右も左も分からないから助かりました。ありがとうございます。
オススメのコンパイラ?教えて貰えたら嬉しいです。( ◜ᴗ◝)
オススメのコンパイラ?教えて貰えたら嬉しいです。( ◜ᴗ◝)
2021/04/06(火) 20:51:30.86ID:5Y0Ir7kF
皆さん参考書を使っての学習はどのように行われていますか?
記載されているコードを写経しながら進めているのですが1冊終えるのに数ヶ月当たり前のようにかかってしまいます
正しい勉強方法なんてのはなくて人それぞれだと思いますが皆さんの勉強方法を参考したいです
記載されているコードを写経しながら進めているのですが1冊終えるのに数ヶ月当たり前のようにかかってしまいます
正しい勉強方法なんてのはなくて人それぞれだと思いますが皆さんの勉強方法を参考したいです
2021/04/06(火) 21:03:56.05ID:RTS/XrJR
2021/04/06(火) 21:17:45.73ID:5Y0Ir7kF
>>61
動きを意識しながら書くようにしていますが結局書くことが目的になってて無意識で写してる時もあり無駄な時間の使い方をしてると実感してます…
動きを意識しながら書くようにしていますが結局書くことが目的になってて無意識で写してる時もあり無駄な時間の使い方をしてると実感してます…
2021/04/06(火) 21:56:17.05ID:wES9tagM
実際に読者が手を動かして入力することを前提に書いてる本とそうじゃない本がある
写経するのは前者のうち、知識だけでなく擬似的な実地訓練を通してスキルを身に付けたいものが基本的な対象
章末の演習問題等を試すだけで十分な訓練ができるものもある
写経が時間の無駄だと感じるなら一旦止めてみて
身につき方の違いと所要時間の違いを比較するといいかもしれない
写経するのは前者のうち、知識だけでなく擬似的な実地訓練を通してスキルを身に付けたいものが基本的な対象
章末の演習問題等を試すだけで十分な訓練ができるものもある
写経が時間の無駄だと感じるなら一旦止めてみて
身につき方の違いと所要時間の違いを比較するといいかもしれない
64デフォルトの名無しさん
2021/04/07(水) 08:07:42.97ID:nkaFkhSP >>60
昔は参考書買ってたけど
ある程度の基本さえ分かってしまえば
後は何やりたいか決めて
ググって調べて要点だけ
取り入れるようにしているな
だから最初はそれこそ〜の絵本みたいな
基本中の基本が書いてあるような本を
買ってきて読んで実際に動かして大体理解したら
後は買っても逆引き辞書みたいなものくらい。
たまに本屋で「あ、この本いい」と思ったら
買うけど。
少し自分が理解したと自覚してきたら
5chの該当スレで喧々轟々とやれば
ムキになって色々情報くれる人もいるから
その辺で勝手に勉強になったりもする
昔は参考書買ってたけど
ある程度の基本さえ分かってしまえば
後は何やりたいか決めて
ググって調べて要点だけ
取り入れるようにしているな
だから最初はそれこそ〜の絵本みたいな
基本中の基本が書いてあるような本を
買ってきて読んで実際に動かして大体理解したら
後は買っても逆引き辞書みたいなものくらい。
たまに本屋で「あ、この本いい」と思ったら
買うけど。
少し自分が理解したと自覚してきたら
5chの該当スレで喧々轟々とやれば
ムキになって色々情報くれる人もいるから
その辺で勝手に勉強になったりもする
2021/04/07(水) 12:18:30.45ID:/VvrJao6
写経は、Progate、ドットインストールなどで、1週間ぐらいやるもの
本の目的は、理解すること。
写経などしなくてよい。読むだけ
開発過程の流れ・構造・デザインパターンなどを理解すること
なぜ、こういう事をするのか?
という事を学ぶ
本の目的は、理解すること。
写経などしなくてよい。読むだけ
開発過程の流れ・構造・デザインパターンなどを理解すること
なぜ、こういう事をするのか?
という事を学ぶ
2021/04/07(水) 12:35:30.03ID:dqbIzElb
俺も最初から読まなきゃと思って非効率なことしてるなあ
コードが多く載ってる本とかも説明文以外は読み飛ばしてるの?
コードが多く載ってる本とかも説明文以外は読み飛ばしてるの?
6765
2021/04/07(水) 13:14:47.29ID:/VvrJao6 YouTube を見るのと同じ
細かいソースコードなど読まない。
基本、解説を理解するもの
興味がある所だけ見る
例えば、Ruby on Rails なら、Presenter とは、どういうデザインパターンか?
HTML を生成するファイルを、別のファイルにまとめたようなリファクタリングパターン
細かいソースコードなど読まない。
基本、解説を理解するもの
興味がある所だけ見る
例えば、Ruby on Rails なら、Presenter とは、どういうデザインパターンか?
HTML を生成するファイルを、別のファイルにまとめたようなリファクタリングパターン
6865
2021/04/07(水) 13:16:52.45ID:/VvrJao669デフォルトの名無しさん
2021/04/26(月) 22:49:19.75ID:QCH21zh8 インデックスとかリストとかで
mojiretu ="12345"
mojiretu[0]
[0]が1番目なのって間違えたりしないの?
1が1番目のほうがわかりやすくね?
mojiretu ="12345"
mojiretu[0]
[0]が1番目なのって間違えたりしないの?
1が1番目のほうがわかりやすくね?
70蟻人間 ◆T6xkBnTXz7B0
2021/04/26(月) 23:57:31.14ID:bKymRrTG >>69
スタート地点がゼロでなくイチの場合、年号変換と同様の計算上の複雑さが発生する。まあ、イチを足したり引いたりする必要が出てくるわけだよ。
これはプログラム言語の哲学的な要件で、どちらが間違っているという訳ではない。
スタート地点がゼロでなくイチの場合、年号変換と同様の計算上の複雑さが発生する。まあ、イチを足したり引いたりする必要が出てくるわけだよ。
これはプログラム言語の哲学的な要件で、どちらが間違っているという訳ではない。
2021/04/27(火) 07:11:35.97ID:a+tf24Y+
2021/04/27(火) 07:33:34.54ID:tjxIRyEc
>>69
先頭、先頭の1つ後、先頭の2つ後、...、先頭のN-1個後、って考えるから0始まりは都合がいい
先頭、先頭の1つ後、先頭の2つ後、...、先頭のN-1個後、って考えるから0始まりは都合がいい
2021/04/27(火) 11:29:57.77ID:icYtvr7r
言語によっては添え字が0からではなく、1から始まるのもあるんだよな・・・
2021/04/27(火) 15:30:36.39ID:3uQze5Gq
pythonやってるんだけど、メソッドと関数の違いがよくわからんな
.sort() と sorted()とかどっちがどっちだか分からなくなりそうだし
.sort() と sorted()とかどっちがどっちだか分からなくなりそうだし
2021/04/27(火) 17:59:26.58ID:U2+PAgrF
>>73
Julia「マジで?」
Julia「マジで?」
2021/04/27(火) 18:27:12.20ID:TZd2hubY
>>69
そう思っている人も多かったので添字が「1」から始まる言語も結構存在するw
元々メモリのアドレスが0から始まって、直接ドレスを指定する代わりに配列って
仕組みで見易くしたときに、アドレス指定の代わりなので「0」から始めるみたいな
考えで「0」から始まってるって感じかな
そしてロジックを組むときに、配列要素が10個だったら良くありがちな
for(int i=0; i<10; i++)
とかだと要素10個だって分かり易いけど
for(int i=1; i<11; i++)
だと要素は10個って分かり難いとかって・・・まぁなれと感覚なんだけど
色々な言語を使うと最初に調べることの一つが配列は0オリジンか1オリジンかって
こともあるくらい一貫性がない話なので、使っている言語の決め事と割り切って
使うしかないかなw
>>74
python普段使いしてないから微妙だけど
昔々のその昔に機能の集合を一つにしたものをサブルーチンって読んでいて、
C言語ではそのサブリーチンに「()」付けて引数という概念を入れたので関数
(Function)って呼ぶように
さらにオブジェクト指向言語になって機能(関数)ではなくて手順/手法なんじゃ
ないって考えの下メソッドって呼ぶように
pythonの関数/メソッドもこの考えに従っているみたいで、クラスを定義して
クラスの中で作られた関数をメソッド、クラスの外で定義されているものを
関数て呼ぶみたいね
ただ面倒くさいのはモジュールはクラス定義がしてないので関数だけど、関数の
呼び出しに「モジュール名.関数名」っていう感じでメソッドと同じ構文使うので
混乱するのかな
そう思っている人も多かったので添字が「1」から始まる言語も結構存在するw
元々メモリのアドレスが0から始まって、直接ドレスを指定する代わりに配列って
仕組みで見易くしたときに、アドレス指定の代わりなので「0」から始めるみたいな
考えで「0」から始まってるって感じかな
そしてロジックを組むときに、配列要素が10個だったら良くありがちな
for(int i=0; i<10; i++)
とかだと要素10個だって分かり易いけど
for(int i=1; i<11; i++)
だと要素は10個って分かり難いとかって・・・まぁなれと感覚なんだけど
色々な言語を使うと最初に調べることの一つが配列は0オリジンか1オリジンかって
こともあるくらい一貫性がない話なので、使っている言語の決め事と割り切って
使うしかないかなw
>>74
python普段使いしてないから微妙だけど
昔々のその昔に機能の集合を一つにしたものをサブルーチンって読んでいて、
C言語ではそのサブリーチンに「()」付けて引数という概念を入れたので関数
(Function)って呼ぶように
さらにオブジェクト指向言語になって機能(関数)ではなくて手順/手法なんじゃ
ないって考えの下メソッドって呼ぶように
pythonの関数/メソッドもこの考えに従っているみたいで、クラスを定義して
クラスの中で作られた関数をメソッド、クラスの外で定義されているものを
関数て呼ぶみたいね
ただ面倒くさいのはモジュールはクラス定義がしてないので関数だけど、関数の
呼び出しに「モジュール名.関数名」っていう感じでメソッドと同じ構文使うので
混乱するのかな
77デフォルトの名無しさん
2021/04/28(水) 01:24:06.13ID:fg+Ry4R4 オフセットといってね
先頭の位置からの
先頭の位置からの
2021/04/28(水) 12:55:46.40ID:gIRa6k7G
7969
2021/04/28(水) 17:07:56.77ID:LpyO2APn80デフォルトの名無しさん
2021/04/28(水) 18:07:12.07ID:pIa4dbMw >>78
慣れてくると、列挙型を定義し添え字が列挙型の配列を使う。
慣れてくると、列挙型を定義し添え字が列挙型の配列を使う。
2021/04/29(木) 17:30:03.96ID:0I4TwBUN
2021/04/29(木) 17:44:58.65ID:Lkl71hrm
プログラミングに出て来る、「演算する側・される側」がよくわかりません
下の画像だと、(1)と(2)のどっちの考えが合ってますか?
https://imgur.com/a/iDyuVPu
多分、どっちかは当たってると思うんですが。。
下の画像だと、(1)と(2)のどっちの考えが合ってますか?
https://imgur.com/a/iDyuVPu
多分、どっちかは当たってると思うんですが。。
2021/04/29(木) 18:04:55.29ID:vDvwo/qz
>>82
演算する側、される側というのは見たことがないが、演算子、非演算子を初心者向けの本でそう呼んでるのかな?
そうだとしたら(2)が正しい。
wikipediaで演算子、非演算子を調べてみるといいかも。
演算する側、される側というのは見たことがないが、演算子、非演算子を初心者向けの本でそう呼んでるのかな?
そうだとしたら(2)が正しい。
wikipediaで演算子、非演算子を調べてみるといいかも。
84デフォルトの名無しさん
2021/04/29(木) 19:29:37.80ID:zbxYJnFg >>82
オペレータを演算する側、オペランドを演算される側といっているみたいですね。
オペレータは演算子、オペランドは演算対象といったほうがわかりやすいと思います。
$ が出てくるので Perlと仮定して
$a = = $b
の場合 = = が(比較)演算子で $a、$b が オペランドです。
= = は
$aと$bを比較して、両者が等しいとき論理値:真を等しくないとき論理値:偽を結果とする
演算子です。
オペレータを演算する側、オペランドを演算される側といっているみたいですね。
オペレータは演算子、オペランドは演算対象といったほうがわかりやすいと思います。
$ が出てくるので Perlと仮定して
$a = = $b
の場合 = = が(比較)演算子で $a、$b が オペランドです。
= = は
$aと$bを比較して、両者が等しいとき論理値:真を等しくないとき論理値:偽を結果とする
演算子です。
2021/04/29(木) 19:31:40.61ID:219RAfCB
比較演算子でどっちかに定義しなきゃならない言語があるのか。めんどくせぇな
2021/04/29(木) 19:33:42.53ID:CnnShXoG
オペレーターは日本語にもなっていますね
操作する人、すなわち操作する側です
操作する人、すなわち操作する側です
87デフォルトの名無しさん
2021/04/30(金) 20:52:08.18ID:M1JbY/Lc cかc++とオープンGLを使ってゲーム作りに挑戦しようと思うのですが
オープンGLの書籍を本やでみてるとバージョンが2.xと4.xみたいにあるのですが
使うならどれが良いでしょうか?
おすすめの書籍かサイトもあればありがたいです。
オープンGLの書籍を本やでみてるとバージョンが2.xと4.xみたいにあるのですが
使うならどれが良いでしょうか?
おすすめの書籍かサイトもあればありがたいです。
2021/04/30(金) 21:06:48.17ID:A8ZwvtkY
今時ゲームで生のOpenGLやDirectX叩くのは商用ゲームエンジンのメーカーだけ
Unityとかでいい
Unityとかでいい
89デフォルトの名無しさん
2021/04/30(金) 21:23:59.10ID:M1JbY/Lc90デフォルトの名無しさん
2021/04/30(金) 21:45:29.20ID:lUzIA11U >>89
まず、Wikiじゃない?
https://nipponkaigi.net/wiki/OpenGL#Version_history
バージョンはこれから自分が作るなら
最新の突っ込んでおけばいいんじゃないかな
よく分からんけど
余談で大きなお世話かも知れないけど
ゲームは今後クロスプラットフォームで
扱えるものが主流になって行く気がする。
確かどっかにPS -VITAのSDKが落ちてた
気がしたけど、あれは確かC#で
ポインタがデリゲートになって
直接アドレスを触れなくなってしまったけど
PS-VITAとAndroidのエクスペリアと
クロスプラットフォーム開発だったはず。
今はC++で色々こねくり回して速く小さく
作るのが流行りみたいになってる感はあるけど
長い目で見たらそういう選択肢も
あるような気がするよ。
まず、Wikiじゃない?
https://nipponkaigi.net/wiki/OpenGL#Version_history
バージョンはこれから自分が作るなら
最新の突っ込んでおけばいいんじゃないかな
よく分からんけど
余談で大きなお世話かも知れないけど
ゲームは今後クロスプラットフォームで
扱えるものが主流になって行く気がする。
確かどっかにPS -VITAのSDKが落ちてた
気がしたけど、あれは確かC#で
ポインタがデリゲートになって
直接アドレスを触れなくなってしまったけど
PS-VITAとAndroidのエクスペリアと
クロスプラットフォーム開発だったはず。
今はC++で色々こねくり回して速く小さく
作るのが流行りみたいになってる感はあるけど
長い目で見たらそういう選択肢も
あるような気がするよ。
2021/04/30(金) 22:32:52.08ID:FVXE5M81
>>89
このスレタイを見てやってきた初心者が勉強で取り組むには無謀な規模に思えるが、まあやる気が続く限り頑張れ。
もし挫折しても、不思議はないくらいの難易度なんで諦めずにもっと軽い課題から頑張れ
とやる前から言いたくなるくらい大変だと思うぞw
このスレタイを見てやってきた初心者が勉強で取り組むには無謀な規模に思えるが、まあやる気が続く限り頑張れ。
もし挫折しても、不思議はないくらいの難易度なんで諦めずにもっと軽い課題から頑張れ
とやる前から言いたくなるくらい大変だと思うぞw
92デフォルトの名無しさん
2021/04/30(金) 23:07:31.39ID:M1JbY/Lc >>90
>>91
書き方がわるいため誤解させている、ごめんなさい。
目標がゲーム製作だと思われてることに気がつかなった>>88のコメントで気づくべきだった
kritaというお絵かきソフトの改良に参加をするのが一応目標
cとwinapi32で1度小さいゲーム製作したから
c++とオープンGL使う練習にもゲーム製作がよいかなと思って
ほんとは、QTの練習したかったけどこれでゲーム製作した人みつけられなかったし
商業利用のとこがよくわからなかったからゲーム販売の可能性を考えQTは後まわしに
DirectXがバージョン上がるたびに難易度が高くなるとあったのでオープンGL
もそんな感じなのかなと思ってとりあえず、wiki読んでみるよありがとう
>>91
書き方がわるいため誤解させている、ごめんなさい。
目標がゲーム製作だと思われてることに気がつかなった>>88のコメントで気づくべきだった
kritaというお絵かきソフトの改良に参加をするのが一応目標
cとwinapi32で1度小さいゲーム製作したから
c++とオープンGL使う練習にもゲーム製作がよいかなと思って
ほんとは、QTの練習したかったけどこれでゲーム製作した人みつけられなかったし
商業利用のとこがよくわからなかったからゲーム販売の可能性を考えQTは後まわしに
DirectXがバージョン上がるたびに難易度が高くなるとあったのでオープンGL
もそんな感じなのかなと思ってとりあえず、wiki読んでみるよありがとう
2021/05/01(土) 08:23:43.84ID:eI0UlALM
数学脳ならCからはじめた方がいいけど
頭からつま先まで文系の人にはあんまりオススメできない
頭からつま先まで文系の人にはあんまりオススメできない
2021/05/01(土) 15:34:18.34ID:qPtffzbe
文系理系あまり関係ないような気がするが…
文系に向かないってのは、
代入は文ではなく式だから値を持つ、
とかそんなところかしらん?
文系に向かないってのは、
代入は文ではなく式だから値を持つ、
とかそんなところかしらん?
2021/05/01(土) 15:55:22.20ID:Wy10j4TD
グラフィックスはめちゃくちゃ数学使うぞ
サインコサインで脱落した奴には普通に無理
サインコサインで脱落した奴には普通に無理
96デフォルトの名無しさん
2021/05/01(土) 16:17:19.36ID:1Jh+iQ5V あわしろ氏は、プログラミングは英文学と同じと言ってたよ。
マシンに正しく意図を伝えることが出来れば十分なので、最終的に文系の学問になるって。
マシンに正しく意図を伝えることが出来れば十分なので、最終的に文系の学問になるって。
2021/05/01(土) 16:19:23.00ID:yAbQnBUk
文系なプログラミングと
理系なプログラミングとが
それぞれあるんだと思う
理系なプログラミングとが
それぞれあるんだと思う
2021/05/01(土) 16:38:14.70ID:qPtffzbe
いや、Cは文系にはおすすめできないってあるから、
書こうとするプログラムが理系的なものか文系的なものは関係ないんじゃないかと
思ったんだけど。
書こうとするプログラムが理系的なものか文系的なものは関係ないんじゃないかと
思ったんだけど。
99デフォルトの名無しさん
2021/05/01(土) 21:37:50.53ID:HeWILf2Q java+OpenGLで作れ
100デフォルトの名無しさん
2021/05/01(土) 22:09:12.63ID:cYiBiBFu 文系にはループ変数をループの中で使うのが難しいらしい
101デフォルトの名無しさん
2021/05/02(日) 02:17:03.01ID:e4/12/44 >>96
文系が本を買ってくれないからね。
文系が本を買ってくれないからね。
102デフォルトの名無しさん
2021/05/08(土) 21:12:25.19ID:0PNwSL0W クラスより構造体を使うべき場面というのがよく理解できません
103デフォルトの名無しさん
2021/05/08(土) 22:50:20.87ID:coBHIhPM104デフォルトの名無しさん
2021/05/09(日) 00:29:41.95ID:KmUW1giW 俺はなんで構造体じゃだめなのかわからない
105デフォルトの名無しさん
2021/05/09(日) 13:28:46.46ID:WMytKT+1 コンストラクタがいらないとき
106デフォルトの名無しさん
2021/05/09(日) 15:32:51.48ID:Kg5tmvat >>102
構造体を使うべきっていうより、構造体を使った方が簡単に行える処理はあるよ
C#の場合だけど、通信のデータや映像データみたいに内部構造の決まっている
一定サイズのバイトストーリームを処理するとき、読み込んだバイトストリームを
バイトオーダーやサイズを整えた構造体に、特定の手順を使ってメモリtoメモリで
複写すると簡単に扱えるようになるとか
クラスだとバイトストリームを項目ごとに一つ一つプロパティに写し取るとかするので
面倒くさいけど、構造体ならまとめて処理できる
構造体を使うべきっていうより、構造体を使った方が簡単に行える処理はあるよ
C#の場合だけど、通信のデータや映像データみたいに内部構造の決まっている
一定サイズのバイトストーリームを処理するとき、読み込んだバイトストリームを
バイトオーダーやサイズを整えた構造体に、特定の手順を使ってメモリtoメモリで
複写すると簡単に扱えるようになるとか
クラスだとバイトストリームを項目ごとに一つ一つプロパティに写し取るとかするので
面倒くさいけど、構造体ならまとめて処理できる
107デフォルトの名無しさん
2021/05/09(日) 16:33:06.62ID:WMytKT+1 C#の構造体は使いにくい
108デフォルトの名無しさん
2021/05/09(日) 18:08:58.83ID:OU2BPvjo 単純なDTOのsetterやgetterに変な処理入れたら
必ずどうしようもないバグや混乱の原因になった
制約のある構造体のほうがまだましじゃないかとおもった
必ずどうしようもないバグや混乱の原因になった
制約のある構造体のほうがまだましじゃないかとおもった
109デフォルトの名無しさん
2021/05/09(日) 18:17:42.40ID:OU2BPvjo DTOの結合度は異常に低い
値として整合性がとれている必要があることはほとんどないし
その整合性も最初に値を作るときにValidationすればよく
ずっとオブジェクトとして整合性を保つような処理を入れるのは無駄な処理が走りすぎてナンセンスだ
つまり人間にとってたまたま一緒に扱いたいだけで
コンピューター上で一つのオブジェクトとして扱う理由がまったくない
これは一つ一つ別のデータをたまたま値としてまとめているのだとわかるように
構造体であるべきだとおもう
値として整合性がとれている必要があることはほとんどないし
その整合性も最初に値を作るときにValidationすればよく
ずっとオブジェクトとして整合性を保つような処理を入れるのは無駄な処理が走りすぎてナンセンスだ
つまり人間にとってたまたま一緒に扱いたいだけで
コンピューター上で一つのオブジェクトとして扱う理由がまったくない
これは一つ一つ別のデータをたまたま値としてまとめているのだとわかるように
構造体であるべきだとおもう
110デフォルトの名無しさん
2021/05/11(火) 12:21:05.65ID:9u97i/pE あの。しょうがくせいです
4ねんせい、
ぱいそん?xをだしたいです
4ねんせい、
ぱいそん?xをだしたいです
111デフォルトの名無しさん
2021/05/19(水) 17:00:27.27ID:j7cCaUeW112デフォルトの名無しさん
2021/05/25(火) 01:19:14.34ID:SViyLBx8 cssについて分からない事があるので質問させて下さい。
text-alignプロパティが適用されません。
初心者なので、どこが間違っているのか分からず
困っています。
一応こんな感じです。
(htmlファイル)http://up-img.net/img.php?mode=png&id=20994
(cssファイル)http://up-img.net/img.php?mode=png&id=20995
宜しくお願いします。
text-alignプロパティが適用されません。
初心者なので、どこが間違っているのか分からず
困っています。
一応こんな感じです。
(htmlファイル)http://up-img.net/img.php?mode=png&id=20994
(cssファイル)http://up-img.net/img.php?mode=png&id=20995
宜しくお願いします。
113デフォルトの名無しさん
2021/05/25(火) 01:41:18.53ID:BklC19C4 その前にコード晒すなら、jsfiddleでもcodepenでも使えよ
114デフォルトの名無しさん
2021/05/25(火) 06:07:46.82ID:8oRzwhWr HTML, CSS の質問は、web制作管理板の方へ書き込んでください!
この板では、ありません
この板では、ありません
115デフォルトの名無しさん
2021/05/25(火) 08:14:11.20ID:8TZ12tez こんにちは。92歳の初学者ババアです。phpで変数のスコープをif文などの中だけにするこた出来ますでしょうか。学歴は高等女学校卒です。よろしくお願いします
116デフォルトの名無しさん
2021/05/25(火) 10:41:34.01ID:jhBeOJMS117デフォルトの名無しさん
2021/05/25(火) 12:16:43.78ID:8TZ12tez >>116
ありがとうございます。
ありがとうございます。
118デフォルトの名無しさん
2021/05/25(火) 17:29:10.58ID:i29/ofqM どうかよろしくお願いします
https://rextester.com/ZMKMV9710
https://rextester.com/ZMKMV9710
119デフォルトの名無しさん
2021/05/26(水) 11:02:10.68ID:2/BE6bBS editText.cancel();
120デフォルトの名無しさん
2021/06/02(水) 10:43:35.98ID:qtmfAhQ7 同和ンゴ
121デフォルトの名無しさん
2021/06/03(木) 22:14:14.65ID:5dXEclOp 入門未満なんですが
2進数の補数と正負の表現について分かりやすく教えてほしいです
分かりやすく載ってるサイト誘導でも有り難いです
最上位ビットが1だとマイナスを表現するとか足し算で引き算を表現するとかイマイチわからないでっす
2進数の補数と正負の表現について分かりやすく教えてほしいです
分かりやすく載ってるサイト誘導でも有り難いです
最上位ビットが1だとマイナスを表現するとか足し算で引き算を表現するとかイマイチわからないでっす
122デフォルトの名無しさん
2021/06/03(木) 22:51:11.26ID:pwK5sftK Wikipediaの符号付数値表現の項を見たらいいんじゃないかな
123デフォルトの名無しさん
2021/06/03(木) 23:29:45.24ID:jx+ISKqI >>121
入門未満でなんでそんなことを?Cでも書こうと?
つか、Cで書いても、デバッガで変数のメモリを確認するとかでもないと
そんな知識必要にならないが…
サイトって…補数表現とかで検索して出てくる解説、どれでもいい、と思うけど
そもそも難しい話ではないので。
入門未満でなんでそんなことを?Cでも書こうと?
つか、Cで書いても、デバッガで変数のメモリを確認するとかでもないと
そんな知識必要にならないが…
サイトって…補数表現とかで検索して出てくる解説、どれでもいい、と思うけど
そもそも難しい話ではないので。
124デフォルトの名無しさん
2021/06/04(金) 10:50:17.05ID:UUHTR6cx >>121
自分で探せ
自分で探せ
125デフォルトの名無しさん
2021/06/04(金) 18:07:07.71ID:aBiHmFjq >>121
雑だけど
まず今のCPUは便利なんで引き算も掛け算も割り算もコマンドで実施できるけど、
H/W的な仕組みで言うと本来足し算しか出来なくて、数値の表現も+とか-とか
存在しないんよ
なので一定のビットの塊、例えばshort型ならば16birtで数値を表現する場合、
16ビットで65535って数値まで表現できるけど、人間が-数値と認識できる表現と
して最上位ビットが立っていたら-、立っていなかったら+って決めることで
-1から-32768と0から32767を表すって決めたんだいな
決め事なんでなんでって言われても困るんだけど
で、足し算しか出来ない環境でどう引き算をするかっていうと、3から5を引くと
答えは-2なわけだけど
話を簡単にするために4ビット表現で0111が7、1111が-1、符号なしだと1111で
15ってシステムで考えると
3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分に
なるので下4ビットだけ取り出す
桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
15は1111で3を引くと1100、これは3(0011)をビット反転させるのと同じこと
この操作を補数表現といって、理屈はともかく元の数をビット反転すれば良い
15から3引いて5を足すと17(10001)ってなるけど、数値は4ビットでは15まで
しか表現できないので17から15を引くと余りが2になり余分なビットがあるので-2
あふれたビットを引く行為は16を引くことになり1多く引かなければならないので、
最初に補数に1足しておく
この補数に1足したものを2の補数というだいな
まとめると3-5が0011(3)->1100(3を補数化)+0001(2の補数にする)+0011(5)で
10010になって、下4ビットを取り出して0010、あふれた桁を最上位ビットに入れると
1010で-2になると
かえって分かりにくいか?
雑だけど
まず今のCPUは便利なんで引き算も掛け算も割り算もコマンドで実施できるけど、
H/W的な仕組みで言うと本来足し算しか出来なくて、数値の表現も+とか-とか
存在しないんよ
なので一定のビットの塊、例えばshort型ならば16birtで数値を表現する場合、
16ビットで65535って数値まで表現できるけど、人間が-数値と認識できる表現と
して最上位ビットが立っていたら-、立っていなかったら+って決めることで
-1から-32768と0から32767を表すって決めたんだいな
決め事なんでなんでって言われても困るんだけど
で、足し算しか出来ない環境でどう引き算をするかっていうと、3から5を引くと
答えは-2なわけだけど
話を簡単にするために4ビット表現で0111が7、1111が-1、符号なしだと1111で
15ってシステムで考えると
3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分に
なるので下4ビットだけ取り出す
桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
15は1111で3を引くと1100、これは3(0011)をビット反転させるのと同じこと
この操作を補数表現といって、理屈はともかく元の数をビット反転すれば良い
15から3引いて5を足すと17(10001)ってなるけど、数値は4ビットでは15まで
しか表現できないので17から15を引くと余りが2になり余分なビットがあるので-2
あふれたビットを引く行為は16を引くことになり1多く引かなければならないので、
最初に補数に1足しておく
この補数に1足したものを2の補数というだいな
まとめると3-5が0011(3)->1100(3を補数化)+0001(2の補数にする)+0011(5)で
10010になって、下4ビットを取り出して0010、あふれた桁を最上位ビットに入れると
1010で-2になると
かえって分かりにくいか?
126デフォルトの名無しさん
2021/06/05(土) 01:44:06.37ID:MUSr8GWf 最上位ビットが±を表すのを決めたわけではなく、2の補数を使うのを決めたからそうなってるだけでは
127デフォルトの名無しさん
2021/06/05(土) 13:53:06.28ID:L4Bl9jnp >>121
4ビットで考ます。4ビットでは 2の4乗=16で16とおりの表現が可能です。
正の数のみ(UINT)を扱う場合は、0〜15の数値を通常 0000を数値0、0001を数値1、....
、1111を数値15 に割り当てます(以降連続する4文字の0、1は計算機上の値、それ以外は論理上
の数値)。
正と負の数(INT)を考える場合は-8〜7(-7〜7)を0000〜1111に割り当てるわけですがUINTとの
整合性をとるため0000〜0111は0〜7に割り当てます。残りの 1000〜1111を負の数に割り当てる
ことになりますが、これには1000〜1111をそれぞれ -0〜-7(絶対値)、-7〜-0(1の補数)、
-8〜-1(2の補数) に割り当てる3とおりの表現方法があります。
いずれも最上位ビットが負数を意味します。また絶対値と1の補数には-0が存在します。
1の補数は数値を符号反転(正->負、負->正)するときおのおののビットを反転(0->1、1->0)
すればよく、2の補数はおのおののビットを反転し1を加えればよい という性質があります。
人間的には絶対値表現がわかりやすのでしょうが、下記のように演算のハードウエアが簡単で
すむという理由で計算機では2の補数が用いられます(1の補数は-0の処理がやっかい)。
減算を実行する場合、計算機に限らず、減数を符号反転して被減数に加えても結果は同じです。
2の補数ではA−BをA+(Bの符号反転+1)として演算します。
計算機の中の加算器はC+D+Cary を実行するように構成されます。Caryは桁上げビットであり、
最下位ビットだけ 3ビットの加算ができるわけです。桁上げのない加算を行うときは Cary入力を0に
して演算します。減算するときはDの入力値を反転して1を加えるわけですが、反転は各ビット毎に
XORゲートで行います(減算だけなら反転ゲートでよいが加算も減算も行うので通常はXORを使う)。
1を加える処理は別の加算器を用いなくともCary入力を1にすることで達成できます。
減算を実行するためにXORゲートの追加が必要になりますが加算器に比べれば規模は1/3程度です。
注. 計算機の中の 0000〜1111の値を論理上どう考えるかは自由。0000〜1111を2進数と考え
そのまま対応する数値0〜15を割り当てる場合ばかりではない。 --->グレイコード
4ビットで考ます。4ビットでは 2の4乗=16で16とおりの表現が可能です。
正の数のみ(UINT)を扱う場合は、0〜15の数値を通常 0000を数値0、0001を数値1、....
、1111を数値15 に割り当てます(以降連続する4文字の0、1は計算機上の値、それ以外は論理上
の数値)。
正と負の数(INT)を考える場合は-8〜7(-7〜7)を0000〜1111に割り当てるわけですがUINTとの
整合性をとるため0000〜0111は0〜7に割り当てます。残りの 1000〜1111を負の数に割り当てる
ことになりますが、これには1000〜1111をそれぞれ -0〜-7(絶対値)、-7〜-0(1の補数)、
-8〜-1(2の補数) に割り当てる3とおりの表現方法があります。
いずれも最上位ビットが負数を意味します。また絶対値と1の補数には-0が存在します。
1の補数は数値を符号反転(正->負、負->正)するときおのおののビットを反転(0->1、1->0)
すればよく、2の補数はおのおののビットを反転し1を加えればよい という性質があります。
人間的には絶対値表現がわかりやすのでしょうが、下記のように演算のハードウエアが簡単で
すむという理由で計算機では2の補数が用いられます(1の補数は-0の処理がやっかい)。
減算を実行する場合、計算機に限らず、減数を符号反転して被減数に加えても結果は同じです。
2の補数ではA−BをA+(Bの符号反転+1)として演算します。
計算機の中の加算器はC+D+Cary を実行するように構成されます。Caryは桁上げビットであり、
最下位ビットだけ 3ビットの加算ができるわけです。桁上げのない加算を行うときは Cary入力を0に
して演算します。減算するときはDの入力値を反転して1を加えるわけですが、反転は各ビット毎に
XORゲートで行います(減算だけなら反転ゲートでよいが加算も減算も行うので通常はXORを使う)。
1を加える処理は別の加算器を用いなくともCary入力を1にすることで達成できます。
減算を実行するためにXORゲートの追加が必要になりますが加算器に比べれば規模は1/3程度です。
注. 計算機の中の 0000〜1111の値を論理上どう考えるかは自由。0000〜1111を2進数と考え
そのまま対応する数値0〜15を割り当てる場合ばかりではない。 --->グレイコード
128デフォルトの名無しさん
2021/06/05(土) 14:10:54.82ID:L4Bl9jnp >>127
間違い
(Bの符号反転+1) --> (Bの ビット反転+1)
減算するときはDの入力値を反転して --> 減算するときはDの入力値をビット反転して
間違い
(Bの符号反転+1) --> (Bの ビット反転+1)
減算するときはDの入力値を反転して --> 減算するときはDの入力値をビット反転して
>>121
そうですね、例えば十進法で 3 桁しか書く場所がない変てこな状況を考えます
十進法で 3 桁しかなかったら、そういう変てこでは 000〜999 の 1000 とおりを表現できます
ここで、500 とか 600 とかは表現しなくてもいいけど、 -1, -10, -100 をこの変てこで表現したいと思ったとします
そこで、変てこでは以下のように「読み替え」することに決めました
変てこ「003」 → 3 と読み替えます
変てこ「002」 → 2 と読み替えます
変てこ「001」 → 1 と読み替えます
変てこ「000」 → 0 と読み替えます
変てこ「999」 → -1 と読み替えます
変てこ「998」 → -2 と読み替えます
変てこ「997」 → -3 と読み替えます
………
変てこ「501」 → -499 と読み替えます
変てこ「500」 → -500 と読み替えます
変てこ「499」 → 499 と読み替えます
変てこ「498」 → 498 と読み替えます
つまり、変てこでは、数字をそのまま読むという方法のほかに、変てこでの読み替え規則を勝手に決めて、この例では -500〜499 の同じく 1000 を表現することに決めた!としてもいいわけです。
これが補数表現というやつです、今日はここまで
>>121 が私のここまでの解説を理解した、と表明してくれたのなら、この続きを書きます
そうですね、例えば十進法で 3 桁しか書く場所がない変てこな状況を考えます
十進法で 3 桁しかなかったら、そういう変てこでは 000〜999 の 1000 とおりを表現できます
ここで、500 とか 600 とかは表現しなくてもいいけど、 -1, -10, -100 をこの変てこで表現したいと思ったとします
そこで、変てこでは以下のように「読み替え」することに決めました
変てこ「003」 → 3 と読み替えます
変てこ「002」 → 2 と読み替えます
変てこ「001」 → 1 と読み替えます
変てこ「000」 → 0 と読み替えます
変てこ「999」 → -1 と読み替えます
変てこ「998」 → -2 と読み替えます
変てこ「997」 → -3 と読み替えます
………
変てこ「501」 → -499 と読み替えます
変てこ「500」 → -500 と読み替えます
変てこ「499」 → 499 と読み替えます
変てこ「498」 → 498 と読み替えます
つまり、変てこでは、数字をそのまま読むという方法のほかに、変てこでの読み替え規則を勝手に決めて、この例では -500〜499 の同じく 1000 を表現することに決めた!としてもいいわけです。
これが補数表現というやつです、今日はここまで
>>121 が私のここまでの解説を理解した、と表明してくれたのなら、この続きを書きます
130デフォルトの名無しさん
2021/06/05(土) 21:14:55.31ID:L4Bl9jnp 127/128 だけどちょっと論理が飛躍していました。計算機で2の補数を用いるのは、INTの
加減算が入力値の正/負にかかわらずUINTと同じ加算器で演算できることが理由です。
ただし、オーバフロー(4ビットの場合、和/差が-9以下あるいは8以上になる)には注意が
必要です。
加減算が入力値の正/負にかかわらずUINTと同じ加算器で演算できることが理由です。
ただし、オーバフロー(4ビットの場合、和/差が-9以下あるいは8以上になる)には注意が
必要です。
131デフォルトの名無しさん
2021/06/05(土) 22:08:38.41ID:Is+ZM/MZ 昔は論理演算やらこの辺の知識は知ってて当然みたいな感じだったのに
今ではそんなことは知らないという人も多いんだな
アセンブラレベルでは桁溢れするとキャリーフラグなりボローフラグなりが立つので分かるが
何かこういう話していると遠い昔のお話みたいな感じになっちゃうなw
後、BCDも知らない人が多そうだな
今ではそんなことは知らないという人も多いんだな
アセンブラレベルでは桁溢れするとキャリーフラグなりボローフラグなりが立つので分かるが
何かこういう話していると遠い昔のお話みたいな感じになっちゃうなw
後、BCDも知らない人が多そうだな
132デフォルトの名無しさん
2021/06/05(土) 22:17:49.83ID:Rs3b1AUs133デフォルトの名無しさん
2021/06/05(土) 23:15:52.24ID:L4Bl9jnp 知らないから質問する。 ここはそういうスレじゃないの?
134デフォルトの名無しさん
2021/06/06(日) 02:23:54.33ID:68dWM5Fy >>131
BCD補正のハーフキャリーとかは、x86-64bit ≒ AMD64 では削除されちゃいましたし…
BCD補正のハーフキャリーとかは、x86-64bit ≒ AMD64 では削除されちゃいましたし…
>>134
>>>129
>理解できました。続きがみたいです
ついてきてくれてありがとうございます!では続きを書きましょう。
変てこには、変てこの範囲(10進法で3桁)だけに限定されてしまいますが、その範囲なら「それなり」に動く足し算回路が装備されています
変てこで 1 + 2 を計算します。「001」は変てこの範囲内、「002」も変てこの範囲内、で、足し算を実行します。「001」+「002」 = 「003」!
変てこで 4 + 1 を計算します。「004」は変てこの範囲内、「001」も変てこの範囲内、で、足し算を実行します。「004」+「001」 = 「005」!
変てこの足し算回路はそれなりに動いているようですね!
変てこで 3 + (-1) = 3 - 1 を計算します。3 は変てこでは「003」、(-1) は変てこでは「999」、これを機械的に変てこの足し算回路に放り込むと、「003」+「999」 = 「1002」、変てこは10進法で3桁しか書けないので「002」
つまり、3 - 1 = 「003」+「999」=「002」!
変てこで 2 - 4 を計算します。2 = 「002」、 -4 = 「996」、2 - 4 = 「002」+「996」=「998」 = -2 !
変てこで -3 + 5 を計算します。-3 = 「997」、 5 = 「005」、-3 + 5 = 「997」+「005」=「002」 = 2 !
変てこで -1 - 2 を計算します。-1 = 「999」、 -2 = 「998」、-1 - 2 = 「999」+「998」=「997」 = -3 !
変てこの足し算回路にあんまり大きすぎたり小さすぎたりする数字を放り込むと答えは変になるような気はするのですけれども、
でも、それでも変てこの足し算回路は、ほとんど普通の足し算回路と同じ、というか繰り上がりを無視するけれども普通の足し算回路が使えて、
しかも負の数を放り込んでも「それなりに」動いている気がしませんか?使っているのは普通の足し算回路なのに!
続きは来週 to be continued
>>>129
>理解できました。続きがみたいです
ついてきてくれてありがとうございます!では続きを書きましょう。
変てこには、変てこの範囲(10進法で3桁)だけに限定されてしまいますが、その範囲なら「それなり」に動く足し算回路が装備されています
変てこで 1 + 2 を計算します。「001」は変てこの範囲内、「002」も変てこの範囲内、で、足し算を実行します。「001」+「002」 = 「003」!
変てこで 4 + 1 を計算します。「004」は変てこの範囲内、「001」も変てこの範囲内、で、足し算を実行します。「004」+「001」 = 「005」!
変てこの足し算回路はそれなりに動いているようですね!
変てこで 3 + (-1) = 3 - 1 を計算します。3 は変てこでは「003」、(-1) は変てこでは「999」、これを機械的に変てこの足し算回路に放り込むと、「003」+「999」 = 「1002」、変てこは10進法で3桁しか書けないので「002」
つまり、3 - 1 = 「003」+「999」=「002」!
変てこで 2 - 4 を計算します。2 = 「002」、 -4 = 「996」、2 - 4 = 「002」+「996」=「998」 = -2 !
変てこで -3 + 5 を計算します。-3 = 「997」、 5 = 「005」、-3 + 5 = 「997」+「005」=「002」 = 2 !
変てこで -1 - 2 を計算します。-1 = 「999」、 -2 = 「998」、-1 - 2 = 「999」+「998」=「997」 = -3 !
変てこの足し算回路にあんまり大きすぎたり小さすぎたりする数字を放り込むと答えは変になるような気はするのですけれども、
でも、それでも変てこの足し算回路は、ほとんど普通の足し算回路と同じ、というか繰り上がりを無視するけれども普通の足し算回路が使えて、
しかも負の数を放り込んでも「それなりに」動いている気がしませんか?使っているのは普通の足し算回路なのに!
続きは来週 to be continued
137デフォルトの名無しさん
2021/06/06(日) 03:38:40.89ID:deO9fsXQ 2の補数ぐらい、基本情報処理資格の教科書に書いてあるだろ
初級者用の資格に、何年掛けるつもり?
初級者用の資格に、何年掛けるつもり?
138デフォルトの名無しさん
2021/06/06(日) 07:06:11.74ID:hlMsLFKT >>137
そう思うじゃん?
そもそも基本情報処理資格の教科書ってのねーんだよなぁ
あくまであれは参考書。旧2種のころからずっと。
でさ、その2の補数、すげーすげーーーー雑にざっくり書いてあるのな。
いや、数式は短く美しくってのは分かるけれどそれとはちげーよと。
どの本もクソだなぁと思ってさ。
後に基本情報はアセンブラ選択で取得して応用情報も立て続けに取ったけれど、
まぁ旧2種の時に取らないで正解だったなとは思うよ。今ではいい参考書とインターネットがあるからね。
そう思うじゃん?
そもそも基本情報処理資格の教科書ってのねーんだよなぁ
あくまであれは参考書。旧2種のころからずっと。
でさ、その2の補数、すげーすげーーーー雑にざっくり書いてあるのな。
いや、数式は短く美しくってのは分かるけれどそれとはちげーよと。
どの本もクソだなぁと思ってさ。
後に基本情報はアセンブラ選択で取得して応用情報も立て続けに取ったけれど、
まぁ旧2種の時に取らないで正解だったなとは思うよ。今ではいい参考書とインターネットがあるからね。
139デフォルトの名無しさん
2021/06/06(日) 07:19:24.55ID:bpZDov45 どこまで詳しく書けばクソじゃなくなるのかね
140デフォルトの名無しさん
2021/06/06(日) 09:50:55.63ID:Bm4Wg/Px 負数を2の補数で表現するメリットは、符号付き整数と符号無し整数の加算が同じ方法で実現できることにある
例えば4ビットなら 8〜15 を -8〜-1 に置き換えるだけ
符号無し整数の加算表
http://imgur.com/c5HXPen.png
符号付き整数の加算表
http://imgur.com/Wl7u3Fv.png
例えば4ビットなら 8〜15 を -8〜-1 に置き換えるだけ
符号無し整数の加算表
http://imgur.com/c5HXPen.png
符号付き整数の加算表
http://imgur.com/Wl7u3Fv.png
141デフォルトの名無しさん
2021/06/06(日) 10:47:51.39ID:9mmqAG88 >>125
そんな判りにくい説明せんでも
3-5 を説明するのに 10進数を1桁で考えたときに
0,1,2,3,4,5,6,7,8,9 (A) を
0,1,2,3,4,-5,-4,-3,-2,-1 (B) に割り当てて
3-5 (B) は 3+(-5) (B) だが
-5 (B) の部分を順序だけ考えて 5 (A)
つまり 3+5=8 (A) に還元出来るので
出て来た 8 (A) をさらに実は -2 (B) であると読み取ってるだけだよ
2進数の引き算でも本質はこれ
そんな判りにくい説明せんでも
3-5 を説明するのに 10進数を1桁で考えたときに
0,1,2,3,4,5,6,7,8,9 (A) を
0,1,2,3,4,-5,-4,-3,-2,-1 (B) に割り当てて
3-5 (B) は 3+(-5) (B) だが
-5 (B) の部分を順序だけ考えて 5 (A)
つまり 3+5=8 (A) に還元出来るので
出て来た 8 (A) をさらに実は -2 (B) であると読み取ってるだけだよ
2進数の引き算でも本質はこれ
142デフォルトの名無しさん
2021/06/06(日) 14:04:14.80ID:deO9fsXQ これだけでしょ?
1の補数は、全ビット反転
2の補数 = 1の補数 + 1
クイズ、資格に出そうな問題です
8進数の634 は、16進数で幾つか?
どのように考えて解いたかも、示せ
1の補数は、全ビット反転
2の補数 = 1の補数 + 1
クイズ、資格に出そうな問題です
8進数の634 は、16進数で幾つか?
どのように考えて解いたかも、示せ
143デフォルトの名無しさん
2021/06/06(日) 16:14:14.11ID:EZGLOGww 110,011,100
1,1001,1100
符号拡張無しなら 19c
符号拡張有りなら f9c
1,1001,1100
符号拡張無しなら 19c
符号拡張有りなら f9c
144デフォルトの名無しさん
2021/06/06(日) 16:37:00.44ID:yq1OPwe7 今時はCPUの設計も自動化されているので
2の補数を使うのはCPUの自動設計のプログラムを
書く人ぐらいだなあ
2の補数を使うのはCPUの自動設計のプログラムを
書く人ぐらいだなあ
145デフォルトの名無しさん
2021/06/06(日) 21:57:17.31ID:LwUdRMIi >>134
> 2進数での補数は全てのビットが0になって桁上りする数の事であってますか?
元の数と足して桁上りするという意味で2の補数ではあってます。
Wikiの次の定義が一番すっきりすると思います。
< b 進法において、自然数 a を表現するのに必要な最小の桁数を n としたとき、
< (bのn乗) − a :「b 進法における a に対する基数の補数(b の補数)」
< (bのn乗) − a − 1 :「b 進法における a に対する減基数の補数(b - 1 の補数)」
蛇足ですが、4ビットの場合で各ビットを b3,b2,b1,b0 としたとき、UINT は
論理上の数値 = b0×1 + b1×2 + b2×4 + b3×8
です。2の補数は 最上位ビットに負の重みを与え
論理上の数値 = b0×1 + b1×2 + b2×4 + b3×(-8)
と考えます。b0+NOT b0 = 1 ですから 元の数とそのおのおののビットを反転した値を
足して1を加えれば 0 なることがわかります。
UINTでも2の補数も下位3ビットは同じです。なので下位3ビットは同じ方法で演算ができます。
2の補数では最上位ビットが符号ビットです。 正+正 / 正+負 / 負+負 の加算でそれぞれ
3ビット目からの桁上がりがない場合とある場合の計6とおりを考えれば(オーバフローが
ない限り)UINTの加算と同じ結果になることが確認できます。
> 2進数での補数は全てのビットが0になって桁上りする数の事であってますか?
元の数と足して桁上りするという意味で2の補数ではあってます。
Wikiの次の定義が一番すっきりすると思います。
< b 進法において、自然数 a を表現するのに必要な最小の桁数を n としたとき、
< (bのn乗) − a :「b 進法における a に対する基数の補数(b の補数)」
< (bのn乗) − a − 1 :「b 進法における a に対する減基数の補数(b - 1 の補数)」
蛇足ですが、4ビットの場合で各ビットを b3,b2,b1,b0 としたとき、UINT は
論理上の数値 = b0×1 + b1×2 + b2×4 + b3×8
です。2の補数は 最上位ビットに負の重みを与え
論理上の数値 = b0×1 + b1×2 + b2×4 + b3×(-8)
と考えます。b0+NOT b0 = 1 ですから 元の数とそのおのおののビットを反転した値を
足して1を加えれば 0 なることがわかります。
UINTでも2の補数も下位3ビットは同じです。なので下位3ビットは同じ方法で演算ができます。
2の補数では最上位ビットが符号ビットです。 正+正 / 正+負 / 負+負 の加算でそれぞれ
3ビット目からの桁上がりがない場合とある場合の計6とおりを考えれば(オーバフローが
ない限り)UINTの加算と同じ結果になることが確認できます。
146142
2021/06/07(月) 12:31:33.61ID:pl6618+T >>142
8進数 → 16進数は、
8進数 → 2進数 → 16進数と、一旦2進数へ変換してから、16進数へ変換する
0o634 → 110_011_100
これは区切り方を変えて、1_1001_1100 と同じ。つまり、0x19c
8進数 → 16進数は、
8進数 → 2進数 → 16進数と、一旦2進数へ変換してから、16進数へ変換する
0o634 → 110_011_100
これは区切り方を変えて、1_1001_1100 と同じ。つまり、0x19c
147デフォルトの名無しさん
2021/06/07(月) 13:28:49.75ID:KkC2AFNL >>134
>>125はあちこち微妙だけど
>3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分になるので下4ビットだけ取り出す桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
の最後のところ、分からないといっている4ビット取り出して桁あふれ云々ってところは完全に間違っている
3-5のところで10010になるところまではまぁ間違っていないけど、説明の通り下4ビット取り出して、その後の説明の通り5ビット目の内容を入れた1010は4ビットで表される-2(1110)ではない
最後の部分は桁あふれ云々じゃなくて、出てきた値から単純にもう一度2進数の補数を作ればちゃんとした値になる
10010->1101(NOTを使って1の補数化)->1110(1追加して2の補数化)
同じ理屈で5-3をやってみればわかるけど、>>125の説明の通りやると出てくる値は1110で-2になってしまうので、ぱっと見-取ればあっているような気もするけど計算ではうまく言っていない
最後を2の補数処理にすれば1110->0001->0010で正しく4ビットで表す2になる
>>125はあちこち微妙だけど
>3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分になるので下4ビットだけ取り出す桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
の最後のところ、分からないといっている4ビット取り出して桁あふれ云々ってところは完全に間違っている
3-5のところで10010になるところまではまぁ間違っていないけど、説明の通り下4ビット取り出して、その後の説明の通り5ビット目の内容を入れた1010は4ビットで表される-2(1110)ではない
最後の部分は桁あふれ云々じゃなくて、出てきた値から単純にもう一度2進数の補数を作ればちゃんとした値になる
10010->1101(NOTを使って1の補数化)->1110(1追加して2の補数化)
同じ理屈で5-3をやってみればわかるけど、>>125の説明の通りやると出てくる値は1110で-2になってしまうので、ぱっと見-取ればあっているような気もするけど計算ではうまく言っていない
最後を2の補数処理にすれば1110->0001->0010で正しく4ビットで表す2になる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【独占スクープ】元TOKIOの松岡昌宏がSTARTO社を“退所”へ「国分のコンプライアンス違反」問題をきっかけに決断、12月から単独で活動 [Ailuropoda melanoleuca★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 ★2 [ぐれ★]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 26歳で母親46歳だけど45とかで子供産む人正直グロいな…
- するってぇと何かい?2週間前に安全を確認して輸入再開した海産物を食の安全のために輸入停止にしたってのかい?
- 【高市核兵器】 小泉コメ防衛大臣「民主党政権 岡田外務大臣の “非核三原則” に関する国会答弁を引き継いでいる」 政策堅持を明言 [485983549]
- 【超絶朗報】高市早苗、月給5万円アップを突如確定させるWWWWW
- 【高市賃上げ】 自民党&維新の会「国会議員の給与を 月5万円アップさせる!」 今国会で歳費法改正。 月129万円→月134万円に [485983549]
