我需要转换从stdin读取的字符串,并将字符串转换为尽可能小的数字数据类型。
例如:
25325
将被注册为简称
458685864532
将被阅读很长时间
54515,52
将被注册为浮动
48559,486236596
为双倍。
我不想将值读入最大可能的数据类型,然后进行一些数学计算以获得所需的位大小,然后将其转换为最小的。我正在考虑通过字符串中的每个字符串来决定要做什么。
例如,一个字符串为10个字符长,第一个数字为3且没有减号,它将自动使用unsigned int,因为它大于signed int且小于long。 (在这个例子中,我省略了特定编译器的限制。)