面積が等しいベン図を書く
親戚に質問されたので。
面積が等しいベン図と聞いて、2つのパターンが思い浮かぶ。
- 「Aのみ」と「Bのみ」と「AかつB」 の面積が等しい (3等分パターン)
- 「Aのみ+Bのみ」と「AかつB」の面積が等しい (2等分パターン)
これを作図すると、次のようになる。
パターン1 : 3等分パターン
パターン2 : 2等分パターン
続きを読む
時間が無限に溶けていった
64時間で、初めてクリアしました。
(意外に15%程度しかクリアまで行ってないのね)
意外に知らない %.2g の意味
C++20 で追加される(はずの) std::format
のリファレンス実装 fmtlib/fmt を触ってて気づいたメモ。
浮動小数の小数点以下を2桁に抑えたい場合、例えば以下のように書くと思う。
#include <iostream> #include <format> #include <cstdio> int main() { double d = 3.1415926535; ::printf("printf = %.2f", d); // "3.14" std::cout << std::format("format = {:.2}", d); // "3.14" ? return 0; }
だが、これは以下の出力になる。
printf = 3.14 format = 3.1
実は std::format()
で型指定をしない場合、浮動小数型では {:.2g}
として扱われる。
この g
は printf()
にもあるオプションなので、指定してみたら出力が一致した。
double d = 3.1415926535; ::printf("printf = %.2g", d); // "3.1" std::cout << std::format("format = {:.2}", d); // "3.1"続きを読む
Cコンパイラ作りで心が折れそうになってるポイント
rui314 さんのブログを見て刺激されたので、3月末くらいからCコンパイラをのんびり作ってる。
低レイヤを知りたい人のためのCコンパイラ作成入門
ただ、最近は「ここ作りにくいな・・・」って思う点が出てきて、心が折れかかってるので、 自分の頭で悩んでる点について吐き出してみる。
続きを読む