2013-05-07 120 views
1

我是一名高中学生,在我的消遣中学习编码,并在学习Visual Basic时被卡住了。我很难弄清楚小数,双精度和整数之间的差别。我搜索了互联网,但发现很少或混乱的帮助。到目前为止我所知道的是整数存储整数,小数保持小数,双精度可以同时存储。但为什么我会选择小数点以上的双精度?如果有人可以请帮忙解释三者之间的区别。Visual Basic中的小数,整数和双精度

+0

相关:http://stackoverflow.com/questions/618535/what-is-the-difference-between-decimal-float-and -double-in-c – 2013-05-07 03:16:17

回答

1

双精度是双精度(64位)浮点数。它们使用52位尾数,11位指数和1位符号表示。浮点数不是十进制数的精确表示;相反,它们是二元逼近。因此它们适用于精度比准确性更重要的科学工作,但不适用于精度至关重要的财务计算。

小数是我们在学校使用的相同的十进制数,并且工作方式完全相同。他们有79,228,162,514,264,337,593,543,950,335到负79,228,162,514,264,337,593,543,950,335的范围。它们尽可能接近十进制数的精确表示,并且设计用于财务计算,其中准确性和最小舍入误差非常重要。

整数是整数,零和所有整数的负数表示。使用整数的数学是准确的,没有舍入误差。高位表示数字的符号。精度取决于用于表示整数的字节数;例如,一个16位带符号的整数可以表示-32768到32767之间的数字。

+0

谢谢。我想知道如果你能解释我什么你的意思是“十进制数的不精确表示” – Deemeehaa 2013-05-07 16:26:08

+0

请参阅http://stackoverflow.com/questions/1089018/why-cant-decimal-numbers-be-represented-exactly-in-二进制 – 2013-05-07 16:27:57