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:UdurcVDt127デフォルトの名無しさん
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になる
148142
2021/06/08(火) 09:48:04.68ID:dOMi6vvz 1の補数は、全ビット反転
2の補数 = 1の補数 + 1
1の補数では、0〜3が、-0〜-3 になる。
0: 000、-0: 111
0・-0の2つがあって、ややこしい。
だから、負側を1下げた。
0〜3が、-1〜-4 になる。
2の補数 = 1の補数 + 1
3: 011、全ビット反転・-4: 100、それに1を足す・-3: 101。
011 + 101 = 000
3 + -3 = 0
3 + -4 = -1
だから、1を足さないと、0にならない
2の補数 = 1の補数 + 1
1の補数では、0〜3が、-0〜-3 になる。
0: 000、-0: 111
0・-0の2つがあって、ややこしい。
だから、負側を1下げた。
0〜3が、-1〜-4 になる。
2の補数 = 1の補数 + 1
3: 011、全ビット反転・-4: 100、それに1を足す・-3: 101。
011 + 101 = 000
3 + -3 = 0
3 + -4 = -1
だから、1を足さないと、0にならない
149デフォルトの名無しさん
2021/06/08(火) 17:11:48.32ID:8abk1CkH 2進数で盛り上がってますね。
私も当時(中高生時代)とても苦労したなあ。
ただの加算減算なら指定数のビット幅を任意に揃えれば良いだけだったけど、補数演算じゃ最上位ビットを決めなければいけないのにその指定が指示されなくてサッパリだった。
今なら空気読んで指定数に干渉しない位置で補数ビット指定できるけれど、当時出来なかった。学習障害案件ですな(^^;
今の時代、まず2進数を扱う事って無くなったけど、知っていると圧倒的にコンパクトで快速データ構造が作れるから、やっぱ必須ですね。
私も当時(中高生時代)とても苦労したなあ。
ただの加算減算なら指定数のビット幅を任意に揃えれば良いだけだったけど、補数演算じゃ最上位ビットを決めなければいけないのにその指定が指示されなくてサッパリだった。
今なら空気読んで指定数に干渉しない位置で補数ビット指定できるけれど、当時出来なかった。学習障害案件ですな(^^;
今の時代、まず2進数を扱う事って無くなったけど、知っていると圧倒的にコンパクトで快速データ構造が作れるから、やっぱ必須ですね。
150デフォルトの名無しさん
2021/06/08(火) 18:03:26.50ID:rroj7r75 ・なんで補数を使うか
・なんで1の補数でなく2の補数なのか
この2つに答えられれば理解できているだろう
・なんで1の補数でなく2の補数なのか
この2つに答えられれば理解できているだろう
151デフォルトの名無しさん
2021/06/09(水) 16:09:11.53ID:Gt06K9sH 馬鹿が説明すると余計判りにくくなる
153デフォルトの名無しさん
2021/06/12(土) 17:12:07.12ID:XQCPcV2p 減算はマイナス値の加算である。マイナス値は正の値の補数で表現する。ただそれだけ。
154デフォルトの名無しさん
2021/06/12(土) 18:33:32.77ID:bLldo3g7 プログラミング超初心者の質問スレとはなんだろうか
155デフォルトの名無しさん
2021/06/12(土) 19:23:38.54ID:TNpjfLIA 超初心者の質問に
優しく丁寧に教える趣旨のスレではない
優しく丁寧に教える趣旨のスレではない
>>153
で、補数とはなんですか?それは n 進法に依存する概念ですか、それとも n 進法とは独立した概念ですか?
で、補数とはなんですか?それは n 進法に依存する概念ですか、それとも n 進法とは独立した概念ですか?
157デフォルトの名無しさん
2021/06/18(金) 00:55:46.99ID:rMpkljNE >>156
結局整数で考える限りは2進数に変換できる。
なので、どんな整数についても、2の補数も1の補数もある。
n進法は単に数値の表記の問題でしかないので、
そこに依存する「概念」ってのがそもそもないだろう。
結局整数で考える限りは2進数に変換できる。
なので、どんな整数についても、2の補数も1の補数もある。
n進法は単に数値の表記の問題でしかないので、
そこに依存する「概念」ってのがそもそもないだろう。
158デフォルトの名無しさん
2021/07/04(日) 20:08:20.69ID:DFBUOLaH C++の入門本に載ってるようなコンソールに表示させるコードは覚えたから
簡単なアプリ作ってみたいのですが、"C++ アプリ"でググっても
ツールボックスで貼って作っていくようなやつや専門学校の案内しか出てこないのですが(やりたいのはこれじゃない…)
C++で1からアプリを作れるようになるにはWin32APIというのを覚えなくてはいけないのでしょうか?
簡単なアプリ作ってみたいのですが、"C++ アプリ"でググっても
ツールボックスで貼って作っていくようなやつや専門学校の案内しか出てこないのですが(やりたいのはこれじゃない…)
C++で1からアプリを作れるようになるにはWin32APIというのを覚えなくてはいけないのでしょうか?
159デフォルトの名無しさん
2021/07/04(日) 20:30:07.06ID:Y0mUgNX8 どういう種類の「アプリ」を作りたいのかはっきりしてくれ
160デフォルトの名無しさん
2021/07/04(日) 20:47:59.93ID:DFBUOLaH Guiアプリ内で、ただ球が跳ねてるのとかヘビが動いてるのとか作りたいです
最終的にはhttps://www.youtube.com/watch?v=wlmQKjm0dSoみたいのを作りたいです
最終的にはhttps://www.youtube.com/watch?v=wlmQKjm0dSoみたいのを作りたいです
161デフォルトの名無しさん
2021/07/04(日) 21:08:09.77ID:aHJdtdht ゲームは、C# でUnity とか、
JavaScript でPhaser とか
C++ はツール・ライブラリ用。
画面を作ったりはしない
Linux では、Qt はあるけど、
Windows では、C# になる
JavaScript でPhaser とか
C++ はツール・ライブラリ用。
画面を作ったりはしない
Linux では、Qt はあるけど、
Windows では、C# になる
162デフォルトの名無しさん
2021/07/04(日) 21:28:17.94ID:DFBUOLaH >>161
https://www.youtube.com/watch?v=LrEvoKI07Ww&t=507s
でもC++で作ってる動画たくさんあるので出来る事はできるのではないですか?
できればC++で作れるようになりたいのですが。
せっかく少し文法覚えたので。
https://www.youtube.com/watch?v=LrEvoKI07Ww&t=507s
でもC++で作ってる動画たくさんあるので出来る事はできるのではないですか?
できればC++で作れるようになりたいのですが。
せっかく少し文法覚えたので。
163デフォルトの名無しさん
2021/07/04(日) 21:33:19.84ID:hQ73PqG+ 結局はC#で用意されてるようなものを
自前で作るだけって話だろ
自前で作るだけって話だろ
164デフォルトの名無しさん
2021/07/04(日) 22:49:46.61ID:DFBUOLaH 最終的な目標はC++でアプリ、簡単なゲーム作れるようになることなんですが
C#を今から始めてC#の方で色々作れるようになったらその知識はC++で生きますか?
C#を今から始めてC#の方で色々作れるようになったらその知識はC++で生きますか?
166デフォルトの名無しさん
2021/07/04(日) 22:59:36.21ID:cArVphVF C++なら何でもいいなら
ラズパイとかでもええんかいな
ラズパイとかでもええんかいな
167デフォルトの名無しさん
2021/07/04(日) 22:59:50.06ID:GIk3CAEY とりあえずID:aHJdtdhtは頭のおかしい人だから無視していいよ
168デフォルトの名無しさん
2021/07/05(月) 02:35:32.08ID:k33LLnq0 C#やるしかない、が回答でしょうか?
170デフォルトの名無しさん
2021/07/05(月) 08:41:07.01ID:yW7vm9zn 10の補数だな
知らないことを責めはしないが
自分で調べる位はせんと
知らないことを責めはしないが
自分で調べる位はせんと
171158
2021/07/05(月) 11:06:36.25ID:4P9s6hFJ172デフォルトの名無しさん
2021/07/05(月) 11:14:40.55ID:c503ASju >>158
君のレベルならこれ
ISBN 4899774451
ISBN 4899775067
あるいは
https://nono-programming.com/dx-library/
https://dxlib.xsrv.jp/use/dxuse_vscom2019.html
https://dixq.net/g/
君のレベルならこれ
ISBN 4899774451
ISBN 4899775067
あるいは
https://nono-programming.com/dx-library/
https://dxlib.xsrv.jp/use/dxuse_vscom2019.html
https://dixq.net/g/
173デフォルトの名無しさん
2021/07/05(月) 11:19:04.61ID:c503ASju >>161
KENTA Ruby はしね
KENTA Ruby はしね
174デフォルトの名無しさん
2021/07/05(月) 11:22:39.85ID:sSIakhI1 129は1000の補数じゃないかな
175デフォルトの名無しさん
2021/07/05(月) 11:26:29.03ID:c503ASju >>169
お前も黙ってろ
お前も黙ってろ
176デフォルトの名無しさん
2021/07/05(月) 11:59:03.74ID:DJ8mSFAE >>160
C++ ゲーム ライブラリ
でググればいくらでも出てくるが
DirectX, penGL/Vulkan, DXライブラリ、OpenSiv3D, SFML, openFrameworks,SDL
どれでもお好みのものを使ってね
C++ ゲーム ライブラリ
でググればいくらでも出てくるが
DirectX, penGL/Vulkan, DXライブラリ、OpenSiv3D, SFML, openFrameworks,SDL
どれでもお好みのものを使ってね
>>175
やだね
やだね
179デフォルトの名無しさん
2021/07/06(火) 23:48:06.12ID:xK9Ol7Aw >>177
そんなことも知らんのか
そんなことも知らんのか
180デフォルトの名無しさん
2021/07/07(水) 16:58:01.30ID:z+//4KUJ 超初学者です。現状は、独学プログラマーという入門書を読み終えてPythonのプログラムを関数を調べながらですが何となく読めるようになりました
しかし何かを作ろうとしても全く手を動かせません
疑問なのですが
ループ処理とクラス、関数は同じ事をするという点で同じだと思うのですがどういう時のどういう場合にどういった考え方で使うのか教えて頂きたいです
それぞれの使い分けというかそれぞれの使い方を教えて下さい
また、次に読む本についてhttps://i.imgur.com/dPPUpMq.jpgこちらはどうですか?
しかし何かを作ろうとしても全く手を動かせません
疑問なのですが
ループ処理とクラス、関数は同じ事をするという点で同じだと思うのですがどういう時のどういう場合にどういった考え方で使うのか教えて頂きたいです
それぞれの使い分けというかそれぞれの使い方を教えて下さい
また、次に読む本についてhttps://i.imgur.com/dPPUpMq.jpgこちらはどうですか?
181デフォルトの名無しさん
2021/07/07(水) 18:18:07.45ID:AWE9BvFy 仕事しててクラス、関数、ループとかに慣れたいなら作業をVBAで出来ないかとかやってみればいいわ
古いくさい言語だけどそこら辺は実装されてるし、何よりVBEって言うIDEしか選択肢ないから環境に悩まない
他には、まずやりたいこと探した方がいいよ
モチベ続かんやろ
簡単なとこなら、適当に無料のWeb API(天気予報とか)見つけて表示したりファイルにしてみるとか
ちょっと頑張って、立てたサーバからそのデータをLINEに通知してみるとか、興味あるものこそがモチベになる
古いくさい言語だけどそこら辺は実装されてるし、何よりVBEって言うIDEしか選択肢ないから環境に悩まない
他には、まずやりたいこと探した方がいいよ
モチベ続かんやろ
簡単なとこなら、適当に無料のWeb API(天気予報とか)見つけて表示したりファイルにしてみるとか
ちょっと頑張って、立てたサーバからそのデータをLINEに通知してみるとか、興味あるものこそがモチベになる
182デフォルトの名無しさん
2021/07/07(水) 19:37:52.26ID:vV9ueWFY 文字列処理の練習しろ
文字列処理はすべての基本だ
文字列処理はすべての基本だ
183デフォルトの名無しさん
2021/07/07(水) 21:15:08.84ID:bUHYGk47 Ruby で、ファイル操作・テキスト処理をやる。
each, map など、繰り返し(Enumerable)の所を読む
例えば、a.csv と言う、以下のようなCSV ファイルの、1列目を出力すると、
あ,いう
a,bc
require 'csv'
# CSV ファイルを、1行ずつ処理する
CSV.foreach( "a.csv" ) do | row |
puts row[ 0 ]
end
出力
あ
a
each, map など、繰り返し(Enumerable)の所を読む
例えば、a.csv と言う、以下のようなCSV ファイルの、1列目を出力すると、
あ,いう
a,bc
require 'csv'
# CSV ファイルを、1行ずつ処理する
CSV.foreach( "a.csv" ) do | row |
puts row[ 0 ]
end
出力
あ
a
184デフォルトの名無しさん
2021/07/08(木) 10:53:53.10ID:nEG9xKCJ N!進数(階乗進数)の補数について語ってください
185デフォルトの名無しさん
2021/07/08(木) 18:24:58.17ID:k+qVnEjt >>180
疑問部分だけ
例えば「X=1/2*A*H」という式に「H」を計算する部分がある10行くらいの
コードがあって、「A」が2、4、6、8・・・という感じで値が定期的に変異する
場合には、対象となる10行くらいのコードをループで囲めばループ処理になる
でも、「A」が2、5、7、13、14というようにパターンのない変異の場合、計算式と
なる処理に変更はなくても、値をループでは変異させられないので「A」の値を
設定して10行の処理を書いてということを繰り返すしかなくなる
この同じ処理である10行を一つにまとめて呼び出せるようにしたのが関数
関数化していない状態で10回値が変異するコードを書くと110行とかかかっちゃう
けど、関数化していれば20行+10行+アルファですむ
なのでループ処理と関数は全然違うもの
さらにクラスは処理を行うための仕組みではなく、データ等の構造を定義するための
ものなのでループ処理とか関数とは全然関係ない別の概念
例えばさっきの式は三角形の面積を求める式だけど、三角形のクラス「Triange」を
作るとき、A(底辺)とH(高さ)とX(解)というプロパティを宣言して、Xの値を呼び出す
ときは計算結果を入れて返すってなっている場合定義したクラスのインスタンスを
取得して、AとBに値を入れてCを読み込むと計算結果が得られる
クラスはこの構造を定義するためのもので、当然のごとく処理も記述されるけど、
目的は一連の関係性のあるパラメータや関数(クラスではメソッドとか呼ぶ)を
まとめること
サンプルの簡単なコードとかだと違いがないように見えるのかもしれないけど、
アルゴリズムとかデータ構造とか勉強してからもう一度コードを見ると理解
できるかも
疑問部分だけ
例えば「X=1/2*A*H」という式に「H」を計算する部分がある10行くらいの
コードがあって、「A」が2、4、6、8・・・という感じで値が定期的に変異する
場合には、対象となる10行くらいのコードをループで囲めばループ処理になる
でも、「A」が2、5、7、13、14というようにパターンのない変異の場合、計算式と
なる処理に変更はなくても、値をループでは変異させられないので「A」の値を
設定して10行の処理を書いてということを繰り返すしかなくなる
この同じ処理である10行を一つにまとめて呼び出せるようにしたのが関数
関数化していない状態で10回値が変異するコードを書くと110行とかかかっちゃう
けど、関数化していれば20行+10行+アルファですむ
なのでループ処理と関数は全然違うもの
さらにクラスは処理を行うための仕組みではなく、データ等の構造を定義するための
ものなのでループ処理とか関数とは全然関係ない別の概念
例えばさっきの式は三角形の面積を求める式だけど、三角形のクラス「Triange」を
作るとき、A(底辺)とH(高さ)とX(解)というプロパティを宣言して、Xの値を呼び出す
ときは計算結果を入れて返すってなっている場合定義したクラスのインスタンスを
取得して、AとBに値を入れてCを読み込むと計算結果が得られる
クラスはこの構造を定義するためのもので、当然のごとく処理も記述されるけど、
目的は一連の関係性のあるパラメータや関数(クラスではメソッドとか呼ぶ)を
まとめること
サンプルの簡単なコードとかだと違いがないように見えるのかもしれないけど、
アルゴリズムとかデータ構造とか勉強してからもう一度コードを見ると理解
できるかも
186デフォルトの名無しさん
2021/07/08(木) 23:24:27.32ID:f1qLfxS8 むしろ
>ループ処理とクラス、関数は同じ事をするという点で同じだと思うのですが
と思った理由を知りたいわ
>ループ処理とクラス、関数は同じ事をするという点で同じだと思うのですが
と思った理由を知りたいわ
187デフォルトの名無しさん
2021/07/09(金) 02:26:58.85ID:pOJ0VHTV >>181
モチベについてよく分かります
現在は色々と目新しいので、へぇこういうの出来るんだーという面白さが学習の意欲を保っているのですが
学習を始めた理由はクラウドサービスにある例えばデータ収集等のバイトを受けたいからになります
レスありがとうございます!
ちょっと背伸びになるんですが調べながらその2つ取り掛かってみます
モチベについてよく分かります
現在は色々と目新しいので、へぇこういうの出来るんだーという面白さが学習の意欲を保っているのですが
学習を始めた理由はクラウドサービスにある例えばデータ収集等のバイトを受けたいからになります
レスありがとうございます!
ちょっと背伸びになるんですが調べながらその2つ取り掛かってみます
188デフォルトの名無しさん
2021/07/09(金) 02:48:42.58ID:pOJ0VHTV >>185
ご丁寧にありがとうございます!マジで助かります
クラスについて大変しっくりきました色々と作りながら扱い方を深めていこうと思います
自分は超初学者でして素っ頓狂な質問であれば失礼で申し訳ないのですが、色々と見ているとループ処理自体が特別な関数であるかのような感じ方をしてしまうのですが間違ってますか?
また、ループ処理はどんな発想で入れようと思うのですか?
ご丁寧にありがとうございます!マジで助かります
クラスについて大変しっくりきました色々と作りながら扱い方を深めていこうと思います
自分は超初学者でして素っ頓狂な質問であれば失礼で申し訳ないのですが、色々と見ているとループ処理自体が特別な関数であるかのような感じ方をしてしまうのですが間違ってますか?
また、ループ処理はどんな発想で入れようと思うのですか?
189デフォルトの名無しさん
2021/07/09(金) 03:09:34.30ID:pOJ0VHTV >>183
ありがとうございます!
Rubyのリファレンスマニュアルを覗きましたが勉強不足でRubyが分からず正直何が何だか分かりませんでした。ブックマークしまして分かりそうな頃に参照します
他の言語であれば繰り返しにも種類があるという事ですか?
ありがとうございます!
Rubyのリファレンスマニュアルを覗きましたが勉強不足でRubyが分からず正直何が何だか分かりませんでした。ブックマークしまして分かりそうな頃に参照します
他の言語であれば繰り返しにも種類があるという事ですか?
190デフォルトの名無しさん
2021/07/09(金) 03:13:09.62ID:pOJ0VHTV191デフォルトの名無しさん
2021/07/09(金) 08:42:59.13ID:Q5IOaLlz >>188
ある条件で操作を繰り返したいときがループ
古典的なfor文では、例えば1から100までひとつづつ
100回繰り返したい時にループを使う
while文ではある条件が満たされている間処理を繰り返す
ある条件で操作を繰り返したいときがループ
古典的なfor文では、例えば1から100までひとつづつ
100回繰り返したい時にループを使う
while文ではある条件が満たされている間処理を繰り返す
192デフォルトの名無しさん
2021/07/09(金) 14:38:41.37ID:pOJ0VHTV193デフォルトの名無しさん
2021/07/09(金) 15:02:26.10ID:pOJ0VHTV >>192
あとある値を起点に何かの処理を2回したい場合の話ですが、例えばループ処理を通した値をリストで出力していて後からその出力のある値を使いたい場合に
初めにループに入れたある値のインデックス値が分かっていれば、インデックス値を参照して出力された方のリストから値を取り出して関数というか引数にいれたりして結果に導くといったことが出来そうというのは間違ってますか?
この場合、関数の戻り値を関数に入れるのが良いのは分かりますがお答え頂けると嬉しいです
あとある値を起点に何かの処理を2回したい場合の話ですが、例えばループ処理を通した値をリストで出力していて後からその出力のある値を使いたい場合に
初めにループに入れたある値のインデックス値が分かっていれば、インデックス値を参照して出力された方のリストから値を取り出して関数というか引数にいれたりして結果に導くといったことが出来そうというのは間違ってますか?
この場合、関数の戻り値を関数に入れるのが良いのは分かりますがお答え頂けると嬉しいです
194デフォルトの名無しさん
2021/07/09(金) 15:24:32.13ID:zwat9LTE 難しく考えすぎでは
例えば配列の内容をすべて足し算したいときに
内容を一個ずつ取り出してどんどん足していく
こういう時にループが有効
文字列の配列があったとして
その中に特定の文字列が含まれているものを抽出したいときに
ループで配列を一個ずつ見ていく
まずはこんなところでは?
例えば配列の内容をすべて足し算したいときに
内容を一個ずつ取り出してどんどん足していく
こういう時にループが有効
文字列の配列があったとして
その中に特定の文字列が含まれているものを抽出したいときに
ループで配列を一個ずつ見ていく
まずはこんなところでは?
195183
2021/07/09(金) 21:26:29.08ID:TIX9j1Dy >>189
Ruby・module Enumerable
https://docs.ruby-lang.org/ja/latest/class/Enumerable.html
繰り返しを使って、どういう処理が出来るか?
これが全言語に共通している部分・デザインパターン
JavaScript のLo-dash などと同じ
ここを読んでおくと、
確か、こういう処理・デザインパターンは書いてあったとか、思い出せる
例えば、複数の配列(繰り返しオブジェクト)を同時に繰り返す、zip とか
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
こういうデザインパターンを覚える。
つまり、自分で作らない。車輪の再発明をしない
Ruby・module Enumerable
https://docs.ruby-lang.org/ja/latest/class/Enumerable.html
繰り返しを使って、どういう処理が出来るか?
これが全言語に共通している部分・デザインパターン
JavaScript のLo-dash などと同じ
ここを読んでおくと、
確か、こういう処理・デザインパターンは書いてあったとか、思い出せる
例えば、複数の配列(繰り返しオブジェクト)を同時に繰り返す、zip とか
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
こういうデザインパターンを覚える。
つまり、自分で作らない。車輪の再発明をしない
196デフォルトの名無しさん
2021/07/10(土) 01:21:57.95ID:UexQQhng >>195
Rubyの記号やPythonより書いてる事が多く、やっとPythonが少し分かるようになったばかりの自分には結構読むのが苦しいんですが何となく一読しました
車輪の再発明をしないってのをよく覚えておきます。
RubyのEnumerableモジュールのメソッドについて参考にするのが良いと知れて良かったです
https://qiita.com/yohm/items/18b1f206267c31f4da72
Rubyの記号やPythonより書いてる事が多く、やっとPythonが少し分かるようになったばかりの自分には結構読むのが苦しいんですが何となく一読しました
車輪の再発明をしないってのをよく覚えておきます。
RubyのEnumerableモジュールのメソッドについて参考にするのが良いと知れて良かったです
https://qiita.com/yohm/items/18b1f206267c31f4da72
197デフォルトの名無しさん
2021/07/10(土) 01:27:10.08ID:UexQQhng こちらで質問をしなければ、知り得なかったと思うので大変助かります
本当にありがとうございます!
Pythonだとどうなるかまとめられた記事がありました
本当にありがとうございます!
Pythonだとどうなるかまとめられた記事がありました
198デフォルトの名無しさん
2021/07/10(土) 10:39:19.80ID:qdrVIv6G pythonの勉強をしてます。
コマンドプロンプトからファイルを実行しようとするとVScodeが起動してファイルを開くようになってしまい、実行した結果を確認できなくなってしまいました。
治す方法教えてください。
以前
C:/Users/aki/Desktop/pythonrensyu/r2nen/test.pyをコマンドプロンプトに入れると
hellow worldと表示される
今
C:/Users/aki/Desktop/pythonrensyu/r2nen/test.pyをコマンドプロンプトに入れるとVScodeが開き、test.pyの編集画面が出る
以前に戻したいです
コマンドプロンプトからファイルを実行しようとするとVScodeが起動してファイルを開くようになってしまい、実行した結果を確認できなくなってしまいました。
治す方法教えてください。
以前
C:/Users/aki/Desktop/pythonrensyu/r2nen/test.pyをコマンドプロンプトに入れると
hellow worldと表示される
今
C:/Users/aki/Desktop/pythonrensyu/r2nen/test.pyをコマンドプロンプトに入れるとVScodeが開き、test.pyの編集画面が出る
以前に戻したいです
199デフォルトの名無しさん
2021/07/10(土) 13:32:42.21ID:r0cN22jq >>198
test.py の中身をここに書き込んでみてください
test.py の中身をここに書き込んでみてください
200デフォルトの名無しさん
2021/07/10(土) 14:22:45.22ID:1RIzGkFx >>199
中身は関係ないだろ・・・
中身は関係ないだろ・・・
201デフォルトの名無しさん
2021/07/10(土) 14:23:40.60ID:1RIzGkFx 関連付けを変えれば良いだろうけれどもWindowsの関連付けは複雑だからなあ
202デフォルトの名無しさん
2021/07/10(土) 14:25:35.50ID:1RIzGkFx むかしはこうやってた
>assoc .py
.py=Python.File
>ftype Python.File
Python.File="C:\Windows\py.exe" "%L" %*
>assoc .py
.py=Python.File
>ftype Python.File
Python.File="C:\Windows\py.exe" "%L" %*
203デフォルトの名無しさん
2021/07/10(土) 21:12:35.73ID:icE46eu/ 普通は、ファイル名だけで実行できない。
「コマンド名または実行プログラム名 ファイル名」の形式が正しい
例えば、Ruby スクリプトファイル・version.rb があって、内容が、
puts RUBY_VERSION #=> 2.6.6
の時、
version.rb または、パス付きの./version.rb では、実行できない。
実行するには、
ruby version.rb または、ruby ./version.rb とする
そこで、Linux では以下のように、1行目にシバンを書いて、実行プログラムを指定できる。
#!/usr/bin/env ruby
puts RUBY_VERSION #=> 2.6.6
こうすると、パス付きの./version.rb で実行できるが、
パス無しのversion.rb では実行できない
環境によってはシバンを、#!/usr/bin/ruby とも書ける。
/usr/bin/ 以下に、Rubyを入れている場合
だから以前、ファイル名だけで実行できたとすると、シバンが書いてあったのだろう
「コマンド名または実行プログラム名 ファイル名」の形式が正しい
例えば、Ruby スクリプトファイル・version.rb があって、内容が、
puts RUBY_VERSION #=> 2.6.6
の時、
version.rb または、パス付きの./version.rb では、実行できない。
実行するには、
ruby version.rb または、ruby ./version.rb とする
そこで、Linux では以下のように、1行目にシバンを書いて、実行プログラムを指定できる。
#!/usr/bin/env ruby
puts RUBY_VERSION #=> 2.6.6
こうすると、パス付きの./version.rb で実行できるが、
パス無しのversion.rb では実行できない
環境によってはシバンを、#!/usr/bin/ruby とも書ける。
/usr/bin/ 以下に、Rubyを入れている場合
だから以前、ファイル名だけで実行できたとすると、シバンが書いてあったのだろう
204デフォルトの名無しさん
2021/08/27(金) 03:15:01.58ID:ue9a70Za D3Dプログラミングやりたくて
C++の入門書一冊終えて
次Win32API学ぼうとして書籍スレで聞いたら
Win32APIはC言語で書くものって言われたのですが
C++の場合はMFCってやつやればいいのでしょうか?
C++の入門書一冊終えて
次Win32API学ぼうとして書籍スレで聞いたら
Win32APIはC言語で書くものって言われたのですが
C++の場合はMFCってやつやればいいのでしょうか?
206デフォルトの名無しさん
2021/08/27(金) 07:22:52.85ID:ue9a70Za207デフォルトの名無しさん
2021/08/27(金) 11:47:33.35ID:kXLQNDcF MFCは糞
GTKも糞
C++ならwxWidgetsなりQtなりがおすすめ
どうしても生Win32APIを使いたいならC++を使ってCのAPI(dll)を呼ぶだけで良い
GTKも糞
C++ならwxWidgetsなりQtなりがおすすめ
どうしても生Win32APIを使いたいならC++を使ってCのAPI(dll)を呼ぶだけで良い
208デフォルトの名無しさん
2021/08/27(金) 11:49:47.34ID:TlHplTTf ああD3Dやりたいだけか
それならDxLib使えω
それならDxLib使えω
209デフォルトの名無しさん
2021/08/27(金) 12:57:43.89ID:/iQD8c41 ソフトウエア レガシー
で調べてみれば?
で調べてみれば?
210デフォルトの名無しさん
2021/08/28(土) 10:15:59.50ID:2amKhutT ライブラリとAPIの違いがわかりません
211デフォルトの名無しさん
2021/08/28(土) 10:19:39.97ID:KOyuFHkZ212デフォルトの名無しさん
2021/08/28(土) 13:52:40.82ID:yz/2YzXk213デフォルトの名無しさん
2021/08/28(土) 13:58:31.37ID:d3wynGDk プログラミングなんてセンター試験レベルの数学の問題が出来れば、楽勝だよなwwwww
214デフォルトの名無しさん
2021/08/29(日) 01:29:37.06ID:TPHdi4yb N88BASICのことか
215デフォルトの名無しさん
2021/08/30(月) 00:29:49.95ID:ZJYxoO1B プログラミングって才能とかセンス的な物もあるんですか?
数学の知識もどのくらい必要なのかも知りたいです
数学の知識もどのくらい必要なのかも知りたいです
216デフォルトの名無しさん
2021/08/30(月) 09:31:10.30ID:3DuZZh5/ この問題はあれと同じかなと思える能力
数学の能力もある意味これだが
数学の能力もある意味これだが
217デフォルトの名無しさん
2021/08/30(月) 14:53:05.47ID:a7szkEqk 一言で言うと抽象化
218デフォルトの名無しさん
2021/08/30(月) 17:09:17.90ID:jNLKEWwK >>215
高度な計算を効率よくプログラムに落とし込むならば高等数学を理解している
方が有利だけど、プログラム組むだけならば加減乗除と二元一次方程式、
二次方程式あたりが理解できていれば十分だよ
あと高レベルで理解していなくてもよいけど、AND、OR、、NOT、XORを使った
論理演算(最悪組み合わせれば良いので2値で良い)は理解していないと
プログラムで重要な条件分岐が組めないかな
高度な計算を効率よくプログラムに落とし込むならば高等数学を理解している
方が有利だけど、プログラム組むだけならば加減乗除と二元一次方程式、
二次方程式あたりが理解できていれば十分だよ
あと高レベルで理解していなくてもよいけど、AND、OR、、NOT、XORを使った
論理演算(最悪組み合わせれば良いので2値で良い)は理解していないと
プログラムで重要な条件分岐が組めないかな
219デフォルトの名無しさん
2021/08/30(月) 17:47:18.91ID:RiczHxxv220デフォルトの名無しさん
2021/08/30(月) 18:34:53.45ID:1fzTwyyk 1+2+3+4+5+6+7+8+9+10
より
(1+10)+(2+9)+(3+8)+(4+7)+(5+6)
すなわち
11*5
の方が処理スピードは早い。
より
(1+10)+(2+9)+(3+8)+(4+7)+(5+6)
すなわち
11*5
の方が処理スピードは早い。
221デフォルトの名無しさん
2021/08/30(月) 18:40:02.53ID:1fzTwyyk 10個のカードを並べるのを、
全ての場合を算出して、約3629万回計算できるかどうか?だと思う。
全ての場合を算出して、約3629万回計算できるかどうか?だと思う。
222デフォルトの名無しさん
2021/08/30(月) 18:50:14.38ID:1fzTwyyk エクセルで計算したら、>>221は約362.9万回になった。
失礼。
失礼。
223デフォルトの名無しさん
2021/08/30(月) 21:32:00.62ID:IfLgW1Xz ちなみにgoogleの検索窓に
10!
と打ち込むと
3628800
と計算できるよ
10!
と打ち込むと
3628800
と計算できるよ
224デフォルトの名無しさん
2021/08/30(月) 22:02:35.23ID:20ObuZiA >>210, >>211
API は別に作られたプログラムを使用(コール)するときのとりきめ。Windowsの場合、
画面の表示、ファイルのリードライトなど様々な機能がWin32 APIとして定義されている。
ライブラリはそういったを機能を実現するためのプログラム集。
通常のライブラリ(静的ライブラリは)、コンパイルの終わった作成プログラムとともに
リンカで結合されて1つの実行プログラムになる。
DLL(動的リンクイブラリ)は、リンカで結合されるのではなく作成プログラムとは別にメモリに
ロードされ、あらかじめ決められた手続きによって作成プログラムからコール(リンク)して使用する。
(といってもプログラム作成者はこれを意識することはなく言語自体がDLLを使う機能をサポートしている)。
Win32 API の機能のほとんどは DLLとして準備されている(Kernel32.dll/User32.dll/Gdi32.dll etc.)。
API は別に作られたプログラムを使用(コール)するときのとりきめ。Windowsの場合、
画面の表示、ファイルのリードライトなど様々な機能がWin32 APIとして定義されている。
ライブラリはそういったを機能を実現するためのプログラム集。
通常のライブラリ(静的ライブラリは)、コンパイルの終わった作成プログラムとともに
リンカで結合されて1つの実行プログラムになる。
DLL(動的リンクイブラリ)は、リンカで結合されるのではなく作成プログラムとは別にメモリに
ロードされ、あらかじめ決められた手続きによって作成プログラムからコール(リンク)して使用する。
(といってもプログラム作成者はこれを意識することはなく言語自体がDLLを使う機能をサポートしている)。
Win32 API の機能のほとんどは DLLとして準備されている(Kernel32.dll/User32.dll/Gdi32.dll etc.)。
225デフォルトの名無しさん
2021/08/31(火) 20:07:24.45ID:5EZjygd6226デフォルトの名無しさん
2021/09/09(木) 22:01:38.51ID:mMYrb9xD Cの参考書3冊やってまぁ大雑把に初歩的なのは理解できたのですが
for文で約数、素数、公倍数を求めるコードを書けとかいう問題が本に出てきても
全く分からないのですがこういうのどうしたらスラスラ解けるようになりますか?
アルゴリズムのすごい簡単なのもわからないです
for文で約数、素数、公倍数を求めるコードを書けとかいう問題が本に出てきても
全く分からないのですがこういうのどうしたらスラスラ解けるようになりますか?
アルゴリズムのすごい簡単なのもわからないです
227デフォルトの名無しさん
2021/09/09(木) 22:04:07.22ID:5B6QjFP1 なるよ
すぐなる
小さい課題を数こなしてるうちにすぐコツ掴むよ
すぐなる
小さい課題を数こなしてるうちにすぐコツ掴むよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 【維新国会議員が800万円超の公金を使用】藤田文武共同代表が印刷代569万円を維新市議の「身内企業に支出」していた! [ぐれ★]
- 【ペルソナ・ノン・グラータ】中国総領事の早期国外退去を首相に要請へ 自民・保守系グループ「日本の尊厳と国益を護(まも)る会」 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- 【(・(ェ)・)】収穫前のリンゴ2トン!丸々と太ったクマがリンゴ畑に連日現れ…一晩中居座る「こんなに食べられたのは初めて」長野・上田 [ぐれ★]
- 安倍晋三さん、完全にチェックアウトしてしまう…「母の部屋に安倍元首相が表紙の旧統一教会の機関誌があった」 [405019576]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 高市さん「自賠責を勝手に他の財源に充てるな、返せ」財務省さん、しぶしぶ5700億円を返還 [881878332]
