[過去ログ]
スレ立てるまでもない質問はここで 165匹目 (1002レス)
スレ立てるまでもない質問はここで 165匹目 http://mevius.5ch.net/test/read.cgi/tech/1687260267/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
289: デフォルトの名無しさん (ワッチョイ 07a2-erZV) [sage] 2023/11/25(土) 14:54:45.61 ID:3au87Jfr0 でっていう http://mevius.5ch.net/test/read.cgi/tech/1687260267/289
290: デフォルトの名無しさん (ワッチョイ 5fa5-1+JT) [] 2023/11/27(月) 12:39:19.62 ID:kSLkA03P0 ユーザーモードでもデバドラかけるけどカーネルモードで実装しなきゃいけない理由ってなんなの?性能だけ? 他のユーザーモードプログラムからプロセスの中身を隠したいとか? あと、ユーザーモードだとタスクマネージャーとかでユーザーが終了させちゃう恐れもあるか 他になんかある? http://mevius.5ch.net/test/read.cgi/tech/1687260267/290
291: デフォルトの名無しさん (ワッチョイ 5f79-/KuA) [sage] 2023/11/27(月) 19:51:30.06 ID:/cbu4sL+0 権限の違いだけだよ ユーザーモードのドライバは署名不要で良いと思うんだけどねえ http://mevius.5ch.net/test/read.cgi/tech/1687260267/291
292: デフォルトの名無しさん (ワッチョイ c777-2qxF) [sage] 2023/11/29(水) 22:11:26.30 ID:9Fs/PVQH0 画像のコマンドプロンプトなんですが echoで 「変数A」は表示されるのですが 「変数B」が表示されないのはなぜでしょうか? https://i.imgur.com/zY8QqWQ.jpg http://mevius.5ch.net/test/read.cgi/tech/1687260267/292
293: デフォルトの名無しさん (ワッチョイ ffde-Ura4) [sage] 2023/11/29(水) 23:17:18.73 ID:11rLHIi40 >>292 遅延環境変数でググると原因と対策が出てくる http://mevius.5ch.net/test/read.cgi/tech/1687260267/293
294: デフォルトの名無しさん (ワッチョイ 8701-OYus) [sage] 2023/11/29(水) 23:43:47.87 ID:5e0Dum8b0 powershellでやれ http://mevius.5ch.net/test/read.cgi/tech/1687260267/294
295: デフォルトの名無しさん (ワッチョイ c777-2qxF) [sage] 2023/11/29(水) 23:57:34.72 ID:9Fs/PVQH0 >>293 やっと解決できました ありがとうございました https://i.imgur.com/1dJlbVi.jpg http://mevius.5ch.net/test/read.cgi/tech/1687260267/295
296: デフォルトの名無しさん (スフッ Sd7f-1fOb) [] 2023/12/01(金) 13:56:51.10 ID:x4GTgSrOd C言語において-3が、unsigned int で4294967293になる理屈を教えてください http://mevius.5ch.net/test/read.cgi/tech/1687260267/296
297: デフォルトの名無しさん (ワッチョイ 7fd6-WSLN) [sage] 2023/12/01(金) 14:58:01.47 ID:2riclQL00 https://en.cppreference.com/w/c/language/conversion otherwise, if the target type is unsigned, the value 2^b , where b is the number of value bits in the target type, is repeatedly subtracted or added to the source value until the result fits in the target type. In other words, unsigned integers implement modulo arithmetic. http://mevius.5ch.net/test/read.cgi/tech/1687260267/297
298: デフォルトの名無しさん (スププ Sd7f-1fOb) [] 2023/12/01(金) 15:09:48.96 ID:FXqwQW8Dd >>297 モジュロ演算の意味が分かりません http://mevius.5ch.net/test/read.cgi/tech/1687260267/298
299: デフォルトの名無しさん (スッップ Sd7f-O0Dn) [sage] 2023/12/01(金) 15:19:46.39 ID:1ihFKBOzd >>296 CPUの整数表現として負数を2の補数で表現するから 32ビットはめんどいので末尾8ビットだけ書くとして3は00000011 3の1の補数はビット反転して11111100(4294967292) 3の2の補数は1の補数に1を足して11111101(4294967293) 2の補数を使う理由はググれ http://mevius.5ch.net/test/read.cgi/tech/1687260267/299
300: デフォルトの名無しさん (スププ Sd7f-1fOb) [] 2023/12/01(金) 15:25:11.16 ID:FXqwQW8Dd >>299 やはりそうでしたか。納得しました。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/300
301: デフォルトの名無しさん (スフッ Sdbf-WaQs) [] 2023/12/09(土) 16:25:29.47 ID:ZNOr2kH7d C言語でオーバーフローするのは、signed だけですか?それとも、unsigned もですか? AIに聞いても、意見が分かれていて、どっちかわかりません。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/301
302: デフォルトの名無しさん (スッップ Sdbf-WfBz) [sage] 2023/12/09(土) 16:44:10.67 ID:ETXxeT5Ld 符号なし整数はmod 2^n(nはビット数)で計算します。 これをオーバーフローと表現したりしなかったりする気がします。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/302
303: デフォルトの名無しさん (スフッ Sdbf-WaQs) [] 2023/12/09(土) 16:54:11.29 ID:ZNOr2kH7d >>302 ありがとうございます。規格では、unsigned はオーバーフローしないときめられているようですが、コンパイラの警告が, unsignedの場合でないですね。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/303
304: デフォルトの名無しさん (スッップ Sdbf-WfBz) [sage] 2023/12/09(土) 17:01:10.08 ID:ETXxeT5Ld 規格では符号なし整数はオーバーフローしないと書かれていて、正確な文言としてはこれが正しいようです。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/304
305: デフォルトの名無しさん (スップ Sd3f-Rtb0) [sage] 2023/12/09(土) 17:31:31.47 ID:qyzy7PA2d キャリービットが立つ=オーバーフロー http://mevius.5ch.net/test/read.cgi/tech/1687260267/305
306: デフォルトの名無しさん (ワッチョイ 97f2-RTrI) [sage] 2023/12/09(土) 18:36:07.10 ID:p0kpDF0H0 wrapping overflowのことをCの規格では「規定された動作でUBじゃないからオーバーフローとは呼ばないキリッ! wraparoundと呼べ」と言ってるだけ 一般に言うところの算術オーバーフローは発生するが規格に定められた動作なので警告は出ない http://mevius.5ch.net/test/read.cgi/tech/1687260267/306
307: デフォルトの名無しさん (ワッチョイ d7da-noSv) [sage] 2023/12/09(土) 19:47:16.49 ID:dajCtWdt0 >>303 オーバーフローって演算結果の話なのでコンパイラでは警告でないんじゃね http://mevius.5ch.net/test/read.cgi/tech/1687260267/307
308: デフォルトの名無しさん (ワッチョイ 97f2-RTrI) [sage] 2023/12/09(土) 21:12:45.96 ID:p0kpDF0H0 実行時にしかチェックできないものとコンパイル時にチェックできるものとある http://mevius.5ch.net/test/read.cgi/tech/1687260267/308
309: デフォルトの名無しさん (オイコラミネオ MM2b-FJ+M) [sage] 2023/12/10(日) 10:57:51.63 ID:o2TNvwaPM SQLITEなどのDBMSで、2つ以上のカラムに まとめてindex (B-Tree)を用意するところの 「Multicolumn indexes(Composite indexes)」 を用いる場合、select の where 節で 2つのカラムa, b に対して、 where a=値1 and b=値2 とした場合、高速化されるそうです。 しかし、b については条件を指定せずに where a=値1 とだけ書いた場合や、 a については条件を指定せずに where b=値2 とだけ書いた場合の速度も高速化されますか? http://mevius.5ch.net/test/read.cgi/tech/1687260267/309
310: デフォルトの名無しさん (ワッチョイ 7716-pmcO) [sage] 2023/12/10(日) 11:57:41.46 ID:PVGCDu/Y0 はい、2つ以上のカラムにまとめてindexを作成すると、それらのカラムを組み合わせて検索条件を指定する場合だけでなく、個々のカラムに対する検索条件も高速化されます。具体的には、次のような場合にも高速化が期待されます。 1. `where a=値1` の場合: もし `(a, b)` の複合インデックスがあるなら、この条件も高速に検索できます。 2. `where b=値2` の場合: 同様に、`(a, b)` の複合インデックスがあるなら、この条件も高速に検索できます。 これは複合インデックスがB-Treeなどの構造を持ち、検索がその構造を活かして行われるためです。複合インデックスが使えると、各カラムに対する条件検索も高速に行えます。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/310
311: デフォルトの名無しさん (ワッチョイ 7716-pmcO) [sage] 2023/12/10(日) 11:58:51.11 ID:PVGCDu/Y0 なぜbだけの条件でも高速されるのか説明します。 複合インデックスが `(a, b)` の形をしている場合、このインデックスはB-Treeなどのデータ構造を持ち、最初のカラム `a` によってソートされています。このようなインデックスがあると、`where b=値2` という条件も高速化されます。 原因はB-Treeの特性にあります。B-Treeは最初のカラムに基づいてツリーを構築し、各ノードはそのカラムの値でソートされています。したがって、`where b=値2` のクエリでも、インデックスを利用して B-Tree の探索を効率的に行えるのです。 ただし、この場合でも、`a` に関する条件が `where a=値1` と組み合わさると、最初のカラムが条件になっているため、より効果的にインデックスが使用されることが期待されます。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/311
312: デフォルトの名無しさん (オイコラミネオ MM2b-FJ+M) [sage] 2023/12/10(日) 12:13:10.46 ID:o2TNvwaPM >>1 `where b=値2` の条件だけ書いた場合になぜ高速化されるか について、もう少し詳しくお願いできませんか。 2文字のひらがなの辞書で考えて、 1文字目をa, 2文字目をb として、 ああ あい あう いあ いい いう のようにならびますが、b=いを検索したい 場合、1文字目が あい と、いい の2か所 に分かれて格納されてしまい、B-Treeだと 全く別の場所になってしまいそうですが。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/312
313: デフォルトの名無しさん (オイコラミネオ MM2b-FJ+M) [sage] 2023/12/10(日) 12:18:53.28 ID:o2TNvwaPM >>312 まず、複合カラムでない場合に限定すれば、 N文字のキーが入っている B-Treeの場合、 深さは、大体 O(log(N))になります。 検索する際、どのあたりにキーがあるかは、 一意的に深い方向に探索をすれば済むので、 大体、O(log(N)) 回程度に「進めれば」検索が 終了できます。 しかし、複合カラムの場合、条件にaを指定せずに bだけを指定した場合、 キーは、様々な場所に分散されて格納されます ので、この例のひらがな50音の辞書の場合なら 50か所に分かれてしまうため、 log(N) * 50 回程度の時間がかかってしまうのでは ないでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/313
314: デフォルトの名無しさん (ワッチョイ ff84-pmcO) [sage] 2023/12/10(日) 14:06:39.26 ID:Ne0vvx410 >>312 申し訳ありません、誤解が生じました。確かに、私の前回の説明は一般的な場合に当てはまりますが、特に文字列の場合、`where b=値2` のクエリが効率的になるかどうかはデータの具体的な並びに依存します。 文字列の場合、B-Treeの挙動が通常の数値とは異なります。例えば、`ああ`、`あい`、`あう`などが順序通りに格納されることで、`where b='い'` のクエリは特に高速になります。これはB-Treeが文字列においても順序を保ちながらデータを格納するためです。 ただし、文字列の場合でも、全くの一般性があるわけではありません。文字列のソートは、通常の辞書順ではなく、各文字のバイトレベルの比較に基づいていることも考慮する必要があります。 そのため、データの実際の配置や使用しているデータベースシステムによっては、特定のクエリの性能が異なることがあります。文字列データにおいても最適なインデックス戦略は、具体的なデータとクエリによって変わることがあるので、実際のデータや使用状況を元に検討することが重要です。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/314
315: デフォルトの名無しさん (ワッチョイ ff84-pmcO) [sage] 2023/12/10(日) 14:08:36.12 ID:Ne0vvx410 >>313 おっしゃる通り、複合カラムの場合、特に「条件にaを指定せずにbだけを指定した場合」、B-Treeの探索が効率的でない場合があります。 複合カラム `(a, b)` のB-Treeでは、`a` でソートされ、同じ `a` の中で `b` がソートされている状態です。そのため、`where b=値2` のようなクエリが効率的になるのは、同じ `a` 内において `b` の値が連続的に格納されている場合に限られます。 しかし、もし `a` の値が異なる場合、`b` の値も異なる箇所に格納され、深さが増加し、効率が損なわれる可能性があります。したがって、複合インデックスの効果はデータの分布に強く依存します。 一般的に、複合インデックスが効果的なのは、クエリで指定された条件が複合インデックスの順序に合致する場合です。もし `a` を指定せずに `b` だけを指定するケースでデータが分散して格納される場合、B-Treeの探索が非効率的になる可能性があります。その際は、単独の `b` に対する単一カラムインデックスを検討することが適している場合があります。 http://mevius.5ch.net/test/read.cgi/tech/1687260267/315
316: デフォルトの名無しさん (ワッチョイ 37ec-RTrI) [sage] 2023/12/10(日) 14:17:41.16 ID:+Ev0uxFD0 ChatGPT使ってないとGPT回答を見分けられないのか チューリングテストクリアだな http://mevius.5ch.net/test/read.cgi/tech/1687260267/316
317: デフォルトの名無しさん (ワッチョイ 9f4b-7MMK) [sage] 2023/12/10(日) 16:08:39.19 ID:oYKusLHl0 SQLITEやOracleではINDEX SKIP SCANを使うので左端列を指定しなくてもインデックスが採用される もちろん左端列のみを指定するより性能は劣る SQLServerあたりだと左端列を指定しないケースではインデックスは使われない http://mevius.5ch.net/test/read.cgi/tech/1687260267/317
318: デフォルトの名無しさん (オイコラミネオ MM2b-FJ+M) [sage] 2023/12/10(日) 18:25:42.40 ID:V/86XK6XM [1] あ、い、う の三文字を2個並べた組み合わせを キーに持つとして、3*3=9 個のキーを持つと すると、B-Tree は、木の根が1つで、 1文字目で3つに枝が分かれ、別れた先 の2文字目でさらに3つに枝が分かれます。 1文字目をa, 2文字目をbとします。 図が書けないので、フォルダのように表すと、 /あ/あ (1) /あ/い (2) /あ/う (3) /い/あ (4) /い/い (5) /い/う (6) /う/あ (7) /う/い (8) /う/う (9) となります。 [2] where a=あ and b=い とした場合、たった一度の探索で(2) に辿り着けます。 [3] where a=い とした場合は、(4),(5),(6)ですが、それらは、「第一関節」の 同じ一本の枝「い」に属すのでとても効率的に探せます。 [4] where b=い とした場合、(2),(5),(8)の三か所を探索する必要がありますが、 第一関節レベルから異なる枝に属しているので、 第二関節に行った後で第一関節まで「戻る」ような動作が必要になります。 [まとめ] 実際の探索では、「戻る」わけではないんでしょうが、 aだけを指定した場合と、bだけを指定した場合とでは、探索回数が3倍の違いが 出てきますよね? http://mevius.5ch.net/test/read.cgi/tech/1687260267/318
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 684 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.012s