[過去ログ] Qiita 4 - キータぞ、来たぞ、キータだぞー (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
155: デフォルトの名無しさん [] 2024/02/17(土) 17:39:02.70 ID:M+9VD8BN(6/8) AAS
いま気づいたが>>147147(7): デフォルトの名無しさん [] 2024/02/17(土) 14:28:35.26 ID:M+9VD8BN(1/8) AAS
> A: 4の倍数の年は、うるう年
> B: ただし、100の倍数の年は、うるう年ではない(平年)
> C: ただし、400の倍数の年は、うるう年
> D: ただし30の倍数の年は、うるう年
> E: ただし、30と4の倍数の年はうるう年ではない
> F: D, Eは2025年より適用する
をC++で書いてg++でコンパイルしてみた。
外部リンク:godbolt.org
アセンブリ言語読めないけど色分けでC++とアセンブリ言語の対応を教えてくれるので助かる。Eの判定部分に対応するアセンブリ言語が出力されてないな。g++に無駄な判定であると判断されたか。
試しに、重複してる4の倍数判定を
E: ただし、30と7の倍数の年はうるう年ではない
に変えてみると
外部リンク:godbolt.org
今度はEの判定部分に対応するアセンブリ言語は出力されるようだ。g++がashworthより賢いことは分かった。
に投稿した
外部リンク:godbolt.org
と>>151に投稿した
外部リンク:godbolt.org
で、g++が出力したアセンブリ言語の内容がぴったり一致してるのちょっと面白いw
>>151に投稿したコードに論理ミスはなかった感じでちょっと安心した。
210(1): デフォルトの名無しさん [sage] 2024/02/26(月) 01:06:21.70 ID:u7LaXN2b(1) AAS
>プログラミングのリテラシーも(>>147)
どんなもんかと思ってのぞいてみたが確かにこれはリテラシー低いかも
Eの判定部分が出力されてないのも単にネストを間違えてるだけだね
289: デフォルトの名無しさん [sage] 2024/03/02(土) 11:50:59.70 ID:BHfB/iOz(1/2) AAS
ashworth、自分から言い出した仕様に完敗w
343: デフォルトの名無しさん [sage] 2024/03/04(月) 20:30:16.70 ID:k69OqpEV(1) AAS
>>322322(1): デフォルトの名無しさん [sage] 2024/03/04(月) 09:41:48.67 ID:ybOgKOgD(1) AAS
>>316 >>321
1000億年後の閏年とか低能丸出し
地球も存在しないぞ
それ以前に60万年後には誤差が半年となり夏冬逆転し無意味となる
それ以前にルールが変わるため大きな数に対応する意味がない
>>315315(12): デフォルトの名無しさん [sage] 2024/03/03(日) 21:47:18.39 ID:B4rwo5Er(1) AAS
閏年の仕様が変わったら判定関数だけ置き換えればいいのだから
判定関数の中身なんて何でもいいのよ
割り算(剰余算)と分岐はCPUにとって非常に遅いから避けるとするならば例えばこんな感じ
fn is_leap_year(year: u64) -> bool {
let q100 = (year * 42949673) >> 32;
((q100 & 3 == 0) | (q100 * 100 != year)) & (year & 3 == 0)
}
のコードでおかしな結果を出す一番近い年が107374182500年だと思ってる??
368: デフォルトの名無しさん [sage] 2024/03/05(火) 20:42:06.70 ID:HwnQ5/nd(1) AAS
> あくまでも速さ優先ということならば>>315の
> 「let q100 = (year * 42949673) >> 32;」が正解でいいんじゃないか
「自分は>>315じゃないけどこの人のコードが正解だと思いますよ」みたいな投稿よくできるなあ。
378: デフォルトの名無しさん [sage] 2024/03/08(金) 01:36:10.70 ID:sIorMR2i(1) AAS
>>3762^5=32倍すれば同じ
503: デフォルトの名無しさん [sage] 2024/03/22(金) 01:58:14.70 ID:8suVyaLb(1) AAS
Ruby は千回か1万回かループしたら、
C でコンパイルされる機能があるけど、
コンパイル時間の方が多くて、
最適化しても、その時間を取り返せないらしい
Ruby on Rails みたいに、多くの関数を平均的に呼ぶ場合には、最適化は効果ない。
効果があるのは、局所的なある部分を多く呼ぶ場合
789(2): デフォルトの名無しさん [sage] 2024/04/12(金) 11:05:23.70 ID:n08kAL3W(1) AAS
>>761外部リンク:qiita.com
ポエムの他にも、できないできました系があかんなあ
975: デフォルトの名無しさん [sage] 2024/04/29(月) 09:06:44.70 ID:e27xWuSf(1) AAS
qiitaの非生産性を煮詰めたようなやり取りやな
相変わらず悲しさを誘うで
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.047s