我正在开发一个个人项目,即用c创建一个程序,例如“1 / 4,3 / 4,7,5”,输出11100101< =这不对,这只是提出这个想法。但在我这样做之前,我需要知道用二进制表示分数的过程是什么。我很欣赏任何帮助。谢谢
答案 0 :(得分:2)
为此创建自定义类型:
typedef struct {
int numerator;
unsigned int denominator;
} my_fract;
根据您的使用情况,您可以使用不同的分子和分母大小。
然后你可以添加带有分子和分母,浮点数或双精度数的构造函数。也许转换器输出浮动和再次加倍,因为这种类型没有“自然”算术,如果你想要一个,你必须自己做。
my_fract make_fract(int numerator, unsigned int denominator)
{
my_fract res;
res.numerator = numerator;
res.denominator = denominator;
}
double fract_to_double(my_fract foo)
{
return (double)foo.numerator / (double)foo.denominator
}
等等。