[過去ログ] C言語なら俺に聞け 163 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
309: (ワッチョイ 0920-pds3) 2024/11/04(月)21:52 ID:lap6rdZH0(1/3) AAS
介護対象に飲ませるうんこがあまり臭くなくなる薬みたいな技術は進化してるぞ
310
(1): (ワッチョイ f532-Q1tn) 2024/11/04(月)22:10 ID:TtMQ1IOc0(1) AAS
薬で臭くなくしたうんこだからといって介護対象に飲ませるのはどうかと思うぞ。
311: (ワッチョイ 0920-pds3) 2024/11/04(月)22:15 ID:lap6rdZH0(2/3) AAS
>>295
こんなんじゃね

#include <stdio.h>
#include <string.h>
#include <limits.h>

int main(void)
{
省4
312: (ワッチョイ 0920-pds3) 2024/11/04(月)22:17 ID:lap6rdZH0(3/3) AAS
>>310
完全に臭くなくなる訳ではないのでおk
313: (ワッチョイ 01c3-bxGr) 2024/11/04(月)22:57 ID:nqjJRhEX0(1) AAS
ニホンゴ ムズカシイネ
314: (ワッチョイ 92ad-guIA) 2024/11/05(火)05:14 ID:srt1vo+S0(1) AAS
逆に考えるんだ。うんこはどうしても出てしまう。だったらそれはそのままにしておけ。
介護する側がそれを気にせず処理出来るのであれば問題は消滅する。だから介護者が
それを気にならなくなるような精神に効く薬を作れば良いんだ。
315
(1): 2024/11/05(火)06:59 ID:tCS75Iej0(1) AAS
>>295って実行時エラーの話なのかコンパイル時エラーの話なのかもわからなくない?
316: (ワッチョイ b5b4-8Jbz) 2024/11/05(火)15:17 ID:wPeW8RQX0(1) AAS
NASAはネットなんてなかった1970年代にボイジャー1号打ち上げて
240億km離れててもプログラムを送受信してるのに俺らときたら
317: (アウアウエー Sada-GGiU) 2024/11/05(火)21:46 ID:JaQWNq5Na(1) AAS
どうみても脳筋エラー
318: (ワッチョイ 8101-Q1tn) 2024/11/05(火)21:49 ID:qHb8dozk0(1) AAS
脳筋がCを使いません
319: (ワッチョイ 5e63-kEEx) 2024/11/05(火)22:03 ID:MR2KM4Hj0(1) AAS
240億kmの伝書鳩
320: (ワッチョイ 3679-NO1F) 2024/11/06(水)09:37 ID:csbv8Qbd0(1) AAS
1970年代にもテレビやラヂオはあったわけでね…
321: (ワッチョイ 5e63-kEEx) 2024/11/07(木)17:53 ID:RjbHlnZn0(1) AAS
1960年代はラジオ少年が秋葉原詣でしてたな
322
(3): (ワッチョイ 7161-m4Ma) 2024/11/07(木)22:04 ID:E5qLHtEE0(1) AAS
質問失礼

LPTSTR lptStr = TEXT("テスト");
って書くとE0144とC2044ってエラーを吐くんだがプロパティの文字セットって項目を設定なしにすると正常に処理されるのはどういう理屈なの?
const wchar_t[]からLPTSTRに変換できませんってメッセージ出るし型が違うのかなと思うが
だとしたら何故文字設定いじれば解消するのかもよくわからない
323
(1): 警備員[Lv.1][新芽] (ワッチョイ e9eb-WgI6) 2024/11/07(木)22:09 ID:QiubzAbP0(1/2) AAS
LPCTSTR ではダメですか?
当てずっぽうですが
324
(1): 警備員[Lv.1][新芽] (ワッチョイ e9eb-WgI6) 2024/11/07(木)22:10 ID:QiubzAbP0(2/2) AAS
>>323
そういうことじゃないのか、ごめんなさい
325
(1): (ワッチョイ f637-UxC2) 2024/11/08(金)09:56 ID:tVfxyvn80(1) AAS
>>322
設定変えても依然エラーだが
VS Community 2022
326: (ワッチョイ 7161-m4Ma) 2024/11/08(金)10:31 ID:+8UCAN2P0(1/7) AAS
>>324
気持ちだけで十分よ
327
(1): (ワッチョイ 7161-m4Ma) 2024/11/08(金)10:32 ID:+8UCAN2P0(2/7) AAS
>>325
2022だと設定項目見つからなかったから2012でやった、そしたら上記の結果になるんすよねえ
328
(1): (ササクッテロラ Sp79-P7MY) 2024/11/08(金)10:36 ID:ce4XJJ6Np(1) AAS
最近のVSはCの当たり前な構文が通用しないから困るよな
329: (ワッチョイ 7161-m4Ma) 2024/11/08(金)10:51 ID:+8UCAN2P0(3/7) AAS
>>328
Visual Studio側の問題なのこれ?
330
(1): (ブーイモ MM96-UxC2) 2024/11/08(金)11:51 ID:y6pbbxPDM(1) AAS
>>327
2022で設定変えたって書いただろ
あほなのか
331
(1): (アウアウエー Sada-GGiU) 2024/11/08(金)12:18 ID:F9yTI1pla(1/4) AAS
LPTSTR lptStr = L"テスト";
332: (アウアウエー Sada-GGiU) 2024/11/08(金)12:20 ID:F9yTI1pla(2/4) AAS
あと
#define UNICODE
#define _UNICODE
だったかな
333: (アウアウエー Sada-GGiU) 2024/11/08(金)12:28 ID:F9yTI1pla(3/4) AAS
それでもだめなら
文字コードが違うんじゃないですかね
334: (ワッチョイ 7161-m4Ma) 2024/11/08(金)12:59 ID:+8UCAN2P0(4/7) AAS
>>330
どストレートな罵倒は久しぶりに聞いたよ
高校上がってからは聞かなくなったけどね
335: (ワッチョイ 7161-m4Ma) 2024/11/08(金)13:00 ID:+8UCAN2P0(5/7) AAS
>>331
ありがとう、だけどダメそうだ
文字コード関連のエラーなんだろうけどどうしたものか
336
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ f532-Q1tn) 2024/11/08(金)13:02 ID:Me1tPYCI0(1/2) AAS
char と wchar_t の不整合じゃなくて const の有無の問題じゃないの?

C++ で文字列リテラルまわりの扱いで仕様変更があったからそれに関係してるのかも?
C++ での文字列リテラルの型は const char[] (ワイド文字リテラルの場合は const wchar_t[]) だが、文字列リテラルから直接変換する場合に限り char* (ワイド文字リテラルの場合は wchar_t*) に暗黙に変換して構わないというルールが C++03 まではあって、このルールは C++11 で削除されたという経緯がある。
つまり C++11 以降は文字列リテラルから暗黙には const を剥がすことが出来ない。 (キャストを書けば出来るけど。)

C では文字列リテラルの型は元から char[] で、 const が付いてない。
だから const まわりの制限とは関係ないんだが、これは C の仕様のほうがおかしいし、 C++ と同様の判定をしたほうが理に適っているとマイクロソフトが考えることはあるかもしれない。
337
(1): (アウアウエー Sada-GGiU) 2024/11/08(金)13:18 ID:F9yTI1pla(4/4) AAS
E0144 エンティティの初期化
型”cont wchar_t *"の値を使用して"wchar_t *"のエンティティを初期化することはできません

C2044は関係無い
338
(1): (ワッチョイ 7161-m4Ma) 2024/11/08(金)14:51 ID:+8UCAN2P0(6/7) AAS
>>336
なるほどね、LPTSTRがchar*だから代入できないって話になるのか
それがわかったらエラー文にかいてあることが理解出来るね

昔の仕様だとconst charに見えて実際は違かったってこと?
それなら今回のコードもエラー吐かないし悩まなくてよかったのに
339: (ワッチョイ 7161-m4Ma) 2024/11/08(金)14:52 ID:+8UCAN2P0(7/7) AAS
>>337
関係ないの?LPSTRに代入できませんって言ってるように見えるけど
340: (ササクッテロラ Sp79-P7MY) 2024/11/08(金)16:25 ID:1lsgaMlnp(1) AAS
signedとunsignedでも怒り狂うからなぁw
いいんだよ、こっちは中身しってんだから余計なエラー吐くなよ
341
(1): はちみつ餃子◆8X2XSCHEME (ワッチョイ f532-Q1tn) 2024/11/08(金)17:24 ID:Me1tPYCI0(2/2) AAS
>>338
> 昔の仕様だとconst charに見えて実際は違かったってこと?

C の規格としては本来的に文字列リテラルの型には const は付かない。
これは今も昔も同じ。 変更はない。

なので何かが変わったとしたらマイクロソフトの独自仕様。
私はそのへんに詳しいわけじゃないけど C++ の規格改定に引きずられた可能性は想像できるなぁというぼんやりした予想なので経緯はわからぬ。

でもまあ結果的に const の問題ってのは妥当なみたいだね。
342
(1): (ワッチョイ 3679-NO1F) 2024/11/09(土)14:04 ID:L+GgUCLJ0(1) AAS
LPTSTR lptStr = (LPTSTR)TEXT("テスト"); で警告出たりするのかな?
糞面倒だけどキャストで通るならそれ以上の対応不用
343
(3): (ワッチョイ f648-UxC2) 2024/11/09(土)14:22 ID:12zpUv7J0(1) AAS
VS使ってるからたぶんCじゃなくてC++
こういうボンクラの自覚ないボンクラは相手しても疲れるだけ
344
(1): (ワッチョイ 7161-m4Ma) 2024/11/09(土)18:12 ID:IeEwNzSH0(1/3) AAS
>>341
理解した
constは付かないはずなのにリテラルにVisual Studioが勝手に付いてることにしてくるってことね
わざわざありがとうスッキリしたよ
345: (ワッチョイ 7161-m4Ma) 2024/11/09(土)18:13 ID:IeEwNzSH0(2/3) AAS
>>342
いけた
たしかに面倒だけど仕方ないね
346: (ワッチョイ 7161-m4Ma) 2024/11/09(土)18:17 ID:IeEwNzSH0(3/3) AAS
>>343
そんなこと言いながら何回もレスくれるなんて
347: (ワッチョイ 0920-pds3) 2024/11/09(土)18:29 ID:mxjkBfxb0(1) AAS
>>315
どっちもいける

実行時エラー
外部リンク:wandbox.org
> Segmentation fault

コンパイル時エラー
外部リンク:wandbox.org
省8
348: (ワッチョイ cdd5-MfT4) 2024/11/10(日)00:27 ID:dkv1a77w0(1) AAS
左辺をLPCTSTRにすれば良くない?
リテラルの文字列を可変にすること自体が本来は不要だし、右辺を可変にキャストするよりは左辺を不変として (LPCTSTRとして) 受け取れば良いと思う
349: はちみつ餃子◆8X2XSCHEME (ワッチョイ cd32-4Bi2) 2024/11/10(日)09:35 ID:a6nPaG4v0(1) AAS
>>344
オンラインコンパイラで VS17.10 を確かめてみたが文字列リテラルには const は付かないぞ。
お前が間違って C++ を使ってるという >>343 の意見に一票。
350: (ワッチョイ e520-2uFP) 2024/11/10(日)15:28 ID:E/UouhcZ0(1) AAS
>>322
・Microsoft Visual Studio Community 2022 (64 ビット) を使用し「C++コンソールアプリ」で新規プロジェクト作成
・ソリューションエクスプローラーでソースファイルにあるファイル名を*.cppから*.cへ変更
・ファイル名を変更したファイルに下記をコピペ
#include <windows.h>

int main(void)
{
省3
351: (アウアウエー Sa13-vkNS) 2024/11/11(月)11:10 ID:RXw/cl7Za(1) AAS
つまりスレタイ嫁ということか
352: (ワッチョイ b507-4Bi2) 2024/11/11(月)11:32 ID:CKwZRMfb0(1) AAS
>>343 は速攻ぶったたいてるが、学生か初学者はこういう経験しとくもんだ
Cは汗に似て泥臭いんだよ

俺もあとで追試しよっと テキトーでやってて知識整理できてないわ
353: (ワッチョイ 23ab-v1sd) 2024/11/12(火)18:11 ID:bmRwPCyO0(1) AAS
>>322
コンパイラオプションを見れば明らかになるじゃろう。
354: (JP 0H93-qgn8) 2024/11/13(水)18:56 ID:5p447UHqH(1) AAS
BEアイコン:nida.gif
EchoAPIがVS Codeのワークフローにピッタリで、APIテストの能力がグッとアップしったって聞いて
355: (アウアウエー Sa13-vkNS) 2024/11/15(金)18:07 ID:yZ5Bkpe2a(1) AAS
まるちんこしね
356: (ワッチョイ 3b2d-hB9O) 2024/11/22(金)19:50 ID:KyG89VCU0(1) AAS
Q.
doubleをprintfで表示するには%lfでいいの?

A.
double 型を printf で表示する場合、%lf ではなく %f を使用するのが一般的です。

理由:
printf の可変長引数において、float 型は double 型に自動的に昇格されます。
そのため、%f は double 型の値も受け取ることができます。
省2
357: (ワッチョイ bf5f-FO3g) 2024/11/24(日)19:40 ID:g9nxxeRj0(1) AAS
これが同じ値書いてくれないのは普通だったんだっけ.

#include <stdio.h>

int main() {
int s=31;
unsigned long i = 1 << 31;
unsigned long j = 1 << 31;
unsigned long k;
省9
358: (ワッチョイ ff63-cdGy) 2024/11/24(日)19:55 ID:VUrUqN1f0(1/2) AAS
手元にあるGCCとMS-C(32bit)は
同じ値が出てました
359: (ワッチョイ d7d8-7ouQ) 2024/11/24(日)20:09 ID:KIy2cazo0(1) AAS
質問失礼します
ダイアログボックスについて学習しようとしているのですが、サンプルのリソースをコピペしたところ、ダイアログボックスのIDが認識されなく手詰まりになってしまっています。
どなたかご助力ください。

TEST DIALOG (座標を書くと書き込みできない)
C2059
C2061

以上のソースでエラーを吐いてしまいます。リソースをベタ打ちで記述する参考サイトが少ないので判断がつきません。
360: (ワッチョイ ff63-cdGy) 2024/11/24(日)20:28 ID:VUrUqN1f0(2/2) AAS
記述に文法上の誤りがあるって事です。
コピペで失敗しているのか、
元々のサンプルに誤りがあるかは
これだけでは分かりません
文法の基本から学び直して
自分で見つけるしかないかもしれません
361: (ワッチョイ bf5f-FO3g) 2024/11/24(日)20:47 ID:Hl1pEu0p0(1/3) AAS
>> 358
試していただきありがとうございます.
FreeBSD clang version 18.1.6 (外部リンク[git]:github.com llvmorg-18.1.6-0-g1118c2e05e67)
Target: x86_64-unknown-freebsd14.1
と,gccは共に jの値がおかしいのです.
試しに,
unsigned long j = 1 << 31;
省4
362: 警備員[Lv.1][新芽] (ワッチョイ 9fe5-fjqo) 2024/11/24(日)22:17 ID:/KMFo2rr0(1/3) AAS
よく分からないけど
unsigned long i = 1 << 31;
unsigned long j = 1 << 31;

unsigned long i = 1L << 31;
unsigned long j = 1L << 31;
とするとうまくいく? clang
省2
363: 警備員[Lv.1][新芽] (ワッチョイ 9fe5-fjqo) 2024/11/24(日)22:25 ID:/KMFo2rr0(2/3) AAS
gcc -S
でアセンブラ出してみてみたけど、
いや、アセンブラよくわからないんだけど、
修正前の iと jは初期化時にいずれも符号拡張されて大きな値になっていて
その後なぜか iの方は下32ビットで、jの方は64ビットで計算されているようで、正しいのはむしろ jのように見えたがごめんなさい
本当にアセンブラ分からないので多分間違ってます…
364: (ワッチョイ 9f61-vAaR) 2024/11/24(日)22:26 ID:zY64cYUd0(1) AAS
gcc, clang
sizeof(int) == 32
sizeof(unsigned long) == 64
での出力

18446744071562067968,18446744071562067968,18446744071562067968
1073741824,9223372035781033984,1073741824
536870912,4611686017890516992,536870912
省6
365: 警備員[Lv.2][新芽] (ワッチョイ 9fe5-fjqo) 2024/11/24(日)22:45 ID:/KMFo2rr0(3/3) AAS
あ、iは unsigned (int)でキャストしてるのか
366: (ワッチョイ bf5f-FO3g) 2024/11/24(日)23:09 ID:Hl1pEu0p0(2/3) AAS
わかりやすく,intのものとcastかけたのにしてみました.
これだとやはり,pの値だけ変でした.

元々は,binaryで数を8bit 16bit 32bitで表示する関数が,8,16が普通で32だけ変なので気がついたのでした.なんでintだと符合拡張されなくてlongだとされるかが謎.

#include <stdio.h>

int main() {
int s=31;
unsigned long i = 1 << 31;
省13
367
(1): (ワッチョイ bf5f-FO3g) 2024/11/24(日)23:16 ID:Hl1pEu0p0(3/3) AAS
unsigned long p = 1 << 31;

unsigned long p = 1L << 31;
にしたら同じ値になりました.

ううむ,なぜ
unsigned int j = 1 << 31;
だとうまくいって,longだと1Lにしないとうまくいかんのだ.
368: 警備員[Lv.4][新芽] (ワッチョイ b72e-fjqo) 2024/11/24(日)23:36 ID:BVpPJ8iH0(1/3) AAS
右辺が 1<<31だと
左辺が intだと0x80000000がそのまま、
longだと 0xffffffff80000000に拡張されて転記されるからでは
369: 警備員[Lv.4][新芽] (ワッチョイ b72e-fjqo) 2024/11/24(日)23:49 ID:BVpPJ8iH0(2/3) AAS
unsigned long i = (unsigned long) 1 << 31;
とすれば iは 0x80000000になるかと
370: 警備員[Lv.4][新芽] (ワッチョイ b72e-fjqo) 2024/11/24(日)23:50 ID:BVpPJ8iH0(3/3) AAS
1lとするのと同じだけど
371: はちみつ餃子◆8X2XSCHEME (ワッチョイ f732-hCSs) 2024/11/25(月)02:42 ID:EAdMpn4b0(1/2) AAS
>>367
言語仕様的に解釈すると……

シフト演算子の結果の型は左オペランドを整数拡張した後の型と同じになる。
整数リテラルは int の範囲で表せる限り int なので 1 は int 。
int は整数拡張の必要がないので 1<<31 の結果の型も int 。

そして結果の型が signed かつ結果の値が結果の型で表現可能な範囲にないときの動作は未定義なので
2147483648 が int (おそらく質問者の環境では 32 ビット) の最大値である 2147483647 を越えていて未定義の挙動となる。
省2
372
(1): (ワッチョイ ffd6-G09H) 2024/11/25(月)07:22 ID:NtppUMW10(1/2) AAS
6.3.1.3のこれじゃないの
Otherwise, if the new type is unsigned, the value is converted by repeatedly adding or
subtracting one more than the maximum value that can be represented in the new type
until the value is in the range of the new type.
373
(1): (ワッチョイ bf5f-FO3g) 2024/11/25(月)08:27 ID:qsrJNZhH0(1) AAS
6.3.1.3

符号付き整数型及び符号無し整数型 整数型の値を̲Bool型以外の他の整数型に変換する場合,

その値が新しい型で表現可能なとき,値は変化しない。

新しい型で表現できない場合,新しい型が符号無し整数型であれば,新しい型で表現しうる最大の数に

1加えた数を加えること又は減じることを,新しい型の範囲に入るまで繰り返すことによって得られる値
省3
374: はちみつ餃子◆8X2XSCHEME (ワッチョイ f732-hCSs) 2024/11/25(月)09:22 ID:EAdMpn4b0(2/2) AAS
>>372-373
いいえ。
シフト演算の段階で既に未定義を踏んでいるので型変換は関係ないです。
6.5.7 をご覧ください。
375: (ワッチョイ 9fc2-ZGYG) 2024/11/25(月)09:32 ID:SsaYg1Am0(1) AAS
科学 + ンニュース 5ch

保守派もリベラル派も「自分の政治的信念に合致したニュース」を信じやすいという研究結果 [すらいむ★]
2chスレ:scienceplus

コメントも含めて読むと
陰謀論が収まら無い理由が判明する
376: (ワッチョイ ffd6-G09H) 2024/11/25(月)09:46 ID:NtppUMW10(2/2) AAS
なるほど、32bitのみでやるときも1u<<31にしないといけないのか
377: (ササクッテロ Spcb-8bf6) 2024/11/25(月)10:29 ID:G+C3M6QHp(1) AAS
なぜ浮動小数型をシフトしようとした?
378: (ワッチョイ bfdf-FO3g) 2024/11/25(月)13:39 ID:YjGMGS1I0(1) AAS
>> 374 なるほど,そっちで既に未定義だったか.

6.5.7
ビット単位のシフト演算子
構文規則
シフト式:
加減式
シフト式 << 加減式
省6
379: (JP 0Hdf-6m00) 2024/11/26(火)22:12 ID:JxXv+doZH(1) AAS
VS CodeでEchoAPIを使うと、ツールを切り替えずにAPIテストをシームレスに管理できるようになったよ!
380: (ワッチョイ d761-7ouQ) 2024/11/29(金)15:48 ID:QX01Nly20(1) AAS
以下のサンプルプログラムが理解できず困っています。
該当プログラムは、コマンドラインから読み込んだBMPの色データを矩形として並べていくというものの一部を抜粋しています。

以下のfor文は
カラーテーブルの数を取得する→
ブラシを設定する→
先頭の構造体メンバからiCount先の構造体メンバを指定→
iCountにインクリメント
省13
381
(1): (スプッッ Sd3f-G09H) 2024/11/29(金)16:12 ID:YWo8X0edd(1) AAS
bcBitCountはピクセルあたりビット数で1,4,8,24だそう
nビットで表せる値は2^n通りで、これは左シフト1<<nで計算できる
382
(1): (ワッチョイ ff76-J7R8) 2024/11/29(金)23:08 ID:5pZynS2U0(1) AAS
# 質問されていない部分だけど…
iCountと比較する値はループ内で変動しないよね?
だったら毎回計算せずにループ前で計算して別変数に記憶しておくほうがよくないかい?
383: (ワッチョイ ffd6-G09H) 2024/11/30(土)00:28 ID:b6kb1MmL0(1) AAS
今時のコンパイラは十分賢いので気にすることない
384: (ワッチョイ ff63-cdGy) 2024/11/30(土)00:37 ID:VtvuoLT+0(1/5) AAS
ユーザーの犯したバグも直してくれるとありがたいなあ
385
(1): (ワッチョイ ff76-J7R8) 2024/11/30(土)00:47 ID:k7UOR52k0(1/8) AAS
シフトでも掛算でもどっちでもいいけど
質問者のように読んで悩むのは問題
コメント書いておけ

ループ内毎回計算か最適化でループ外に出したかは
コンパイル後の逆アセンブルとかで確認するの?
だったら間違いないようにループ外に出す方が良い癖にもなると思うのだが
386
(1): (ワッチョイ bf79-q0Tp) 2024/11/30(土)09:43 ID:54hbVEvk0(1/5) AAS
380の知能では最適化したつもりが新たなバグを埋め込む事になるかもしれん
自身の身の丈に合ったコードにしとけ
未来の自分が賢くなってる事を信じて
387
(1): (アウアウエー Sadf-wjfe) 2024/11/30(土)09:49 ID:l0dFcapba(1) AAS
#include <windows.h>

BITMAPFILEHEADER bmpFileHeader;
BITMAPCOREHEADER bmpCoreHeader;
RGBTRIPLE *prtColor;

この間に何も描かれてないのは投稿者が勝手に削除したの?元から無いの?

省6
388: (ワッチョイ ff76-J7R8) 2024/11/30(土)11:23 ID:k7UOR52k0(2/8) AAS
なんでこんなに読めないのか理由がわかった
変数名や字下げや「,」前のブランクなど
論理そのもの以前にコーディングの美しさが全然無い
389: (ワッチョイ ff63-cdGy) 2024/11/30(土)11:53 ID:VtvuoLT+0(2/5) AAS
この掲示板書き込むと、スペースやタブは消されちゃうんだよな。
だから綺麗に整形した状態でソース載せたいなら、
全角スペース使うしかない。
あるいはソース公開出来るサイトにアップロードして、
そのリンクを張るなりする。
そういうサイトは、>>1 に書いてある。
1-
あと 613 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s