1
通过整数操作实现IEEE 754 64位二进制浮点数
(我暂时将问题标记为“ C”,但是如果您知道另一种支持联合的语言,则也可以使用它。) 您的任务是+ - * /为以下结构构建四个标准数学运算符: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 这样操作本身就只能操纵或访问整数部分(因此也不能在操作过程中的任何时候都与double进行比较),并且结果是完全相同的(对于非数字结果,例如,功能上是等效的NaN)好像相应的数学运算已直接应用于double。 您可以选择要操作的整数部分,甚至可以在不同的运算符之间使用不同的整数部分。(尽管我不确定您是否要这样做,您也可以选择从联合中的任何字段中删除“未签名”。) 您的分数是四个运算符中每个字符的代码长度总和。最低分获胜。 对于不熟悉IEEE 754规范的我们来说,这是一篇有关Wikipedia的文章。 编辑: 03-06 08:47在intfloat结构中添加了构造函数。您可以使用它们进行测试,而不必手动设置double /etc。
12
code-golf
c
c++
floating-point
code-golf
subsequence
math
code-challenge
arithmetic
expression-building
code-golf
string
compression
self-referential
code-challenge
java
code-golf
puzzle-solver
rubiks-cube
restricted-time
code-bowling
code-golf
ascii-art
code-challenge
code-golf
c
code-golf
hello-world
code-golf
string
decision-problem
code-challenge
primes
number-theory
code-golf
code-golf
python
pi
code-golf
graphical-output
game
atomic-code-golf
whitespace
balanced-string
code-golf
geometry
code-golf
optimization
board-game
puzzle-solver
fastest-code
primes
code-challenge
code-golf
hello-world
polyglot
code-golf
cryptography
code-golf
javascript