大家好呀,我是小米,今年31岁,一个依旧热衷折腾数据库和分享技术的大哥哥。今天要跟大家聊一个在 MySQL社招面试里特别常见的问题:
FLOAT和DOUBLE的区别到底是什么?
别以为这是个“背诵定义”的小问题,面试官随便一追问,很多候选人就“翻车”了。今天我就用一个小故事,把这件事掰开揉碎给大家讲清楚,保证你下次遇到相关问题时,不仅能答,还能答得漂亮!
面试开场:灵魂一问
故事要从我朋友阿辉的面试说起。
那天他去一家互联网公司面试,面试官刚寒暄了几句,就突然抛出一句:
“阿辉,那你说说,MySQL里FLOAT和DOUBLE有什么区别?”
阿辉心里一紧,嘴里却条件反射地冒出:“FLOAT是单精度,DOUBLE是双精度啊。”
面试官点点头,追问:“那你能具体讲讲,它们在 MySQL8.x 中各自存储空间、精度表现、使用场景上有什么差别吗?如果我要存货币数据,你觉得该用哪个?”
阿辉:“呃……这个……我记得FLOAT是4字节,DOUBLE是8字节吧,具体精度差多少我忘了,存货币的话……是不是用DOUBLE?”
面试官笑了笑,没说话。阿辉的心凉了一半。
知识点拆解:FLOAT和DOUBLE的区别
我当时听完阿辉复盘,差点没笑喷。其实他没答错,但答得太浅了。
面试官真正想听的,是以下几个层次:
1. 存储空间
- FLOAT:单精度浮点数,占 4字节(32位)。
- DOUBLE:双精度浮点数,占 8字节(64位)。
MySQL8.x 官方文档明确写了,DOUBLE

最低0.47元/天 解锁文章
5万+

被折叠的 条评论
为什么被折叠?



