作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章一个有趣的面试题:如何用三个字节存储年月日由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
一个有趣的面试题,如何用3个字节存储年月日呢?我们都知道一个字节存储数据最大是255,年份超过255,需要2个字节,月份和天数只需要一个字节就够了,但是我们发现这样存储的话,就需要4个字节了,那么用3个字节到底怎么处理呢?
我们思考一下,1个字节是8位,3个字节就是24位。一个月最多31天,只需要5位就够了,12个月份也只用占4位,还剩下15位用来存储年份,最大能表示3万多年,是足够的,所以理论上是可以用3个字节来存储年月日。代码应该怎么实现呢,我们将上面的思路用一个表格来表示.
由上表可知,我们可以存储的最大年份是32767年,月份是15,天数是31,完全符合我们的实际需求。以下用java代码来实现.
我们以2021年12月31日来测试一下最终的效果:
我们可以看到存储的三个字节中的值,最后解析3个字节也还原成了最初我们设置的日期.
原文地址:https://www.toutiao.com/a7048853891441541643/ 。
最后此篇关于一个有趣的面试题:如何用三个字节存储年月日的文章就讲到这里了,如果你想了解更多关于一个有趣的面试题:如何用三个字节存储年月日的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在大学学习“软件模式和设计”类(class),该类(class)的书是“企业应用程序架构模式 - Fowler” 星期三的考试,老师没有任何过去的考试,我可以通过考试看看考试会是什么样子。 有人学
我是一名优秀的程序员,十分优秀!