この記事はFUJITSU Advent Calendar 2021の17日目です。 みんな大好きCOBOLの強みに十進演算があります。しかし、最近の言語には十進演算のための型(.NETのdecimalやJavaのjava.math.BigDecimalやその他)があるので、COBOL要らないんじゃない?みたいな話を聞いたりするわけです。それについて、COBOL処理系に関わっている身として思うところを述べたいと思います。「まあ、decimalやBigDecimalとかでできるっちゃできるんだけど…」の「だけど…」の部分を説明してみたい。 内容はざっと以下の通り。 二進浮動小数点で金計算をすると何がまずいかのおさらい。 十進浮動小数点の説明。 decimalやBigDecimalとCOBOL十進型の違い(BCDの説明)。 で? きっかけは、今年9月にとある記事のおかげでCOBOLがtwitte
![decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3516f66792abcab99cb66b397d5b3623106eccc2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9ZGVjaW1hbCVFNSU5RSU4QiVFMyU4MSU4QyVFMyU4MSU4MiVFMyU4MiU4QiVFMyU4MSU4QiVFMyU4MiU4OUNPQk9MJUUzJTgyJTgyJUUzJTgxJTg2JUU4JUE2JTgxJUUzJTgyJTg5JUUzJTgyJTkzJUUzJTgyJTg0JUUzJTgyJThEJUUzJTgwJTgxJUUzJTgxJUE4JUUzJTgxJTg0JUUzJTgxJTg2JUU0JUJCJUI2JUUzJTgxJUFCJUUzJTgxJUE0JUUzJTgxJTg0JUUzJTgxJUE2JUVGJUJDJTg4JUUzJTgxJTgyJUUzJTgyJThCJUUzJTgxJTg0JUUzJTgxJUFGJUU1JThEJTgxJUU5JTgwJUIyJUU2JUJDJTk0JUU3JUFFJTk3JUUzJTgxJUFFJUU4JUE5JUIxJUVGJUJDJTg5JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kNjQyNjExMjU2OGYxZGE2NTJmMjMwMjBmNWU5MWZmZQ%26mark-x%3D142%26mark-y%3D100%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBpcHBvbnNoaW1lamkmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTgwMjNjMzdjMGU4MzYwYzhjNWFjZjBiYzhmMDRiMjZh%26blend-x%3D142%26blend-y%3D504%26blend-mode%3Dnormal%26s%3D47b60d419dd618df74fa7928f0692912)