找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题出在字符串的字符总数定义的不够长上了,解释如下:
实数转换为字符串,总的符位数由 FMT 高 4 位决定,小数位数由低 3 位决定,小数位数不能大于5;
总字符数包含一个符号、至少 1 位整数、一个小数点、小数位个数
从你图中的 FMT= 2#0111 0101
可知总字符串长度是 7 其中 5 位是小数位数,再加上一个符号、至少1位整数、一个小数点,算算这样最少是多少位了? 至少是8位了;
所以你若想要 5 位小数位,那 FMT 的高 4 位组合出来至少是 8,所以是字符串长度定义少了,至于是多少,那还要看你的浮点数的取值范围有多大。
举例:
FMT= 2#1000 0101 总字符串8个字符,一个符号、整数位数最多只能1位、小数点、小数位数5位
FMT= 2#1001 0101 总字符串9个字符,一个符号、整数位数昂多只能2位、小数点、小数位数5位
FMT= 2#1010 0101 总字符串10个字符,一个符号、整数位数昂多只能3位、小数点、小数位数5位
如图,采用的是 FMT= 2#1000 0101
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!