java浮点数转整数_(题目2)自己实现浮点数转换为整数

我们在写程序时,总是会自觉或不自觉地频繁用到类型转换,比如将整数转换为浮点数或反之。今天的题目主要讨论基本类型的转换(但和普通的类型转换有所不同哦,详见后文),考考你是否真的理解了类型转换的本质。在面向对象系统中还会涉及类和接口的类型转换,但它们和基本类型的转换还是有区别的,今天暂时不考虑。(本人博客中所有题目都是我原创的,仅此一家,不买也来看看啊)开始了,请听题。题目很简单,自己编写一个模拟do...
摘要由CSDN通过智能技术生成

我们在写程序时,总是会自觉或不自觉地频繁用到类型转换,比如将整数转换为浮点数或反之。

今天的题目主要讨论基本类型的转换(但和普通的类型转换有所不同哦,详见后文),考考你是否真的理解了类型转换的本质。在面向对象系统中还会涉及类和接口的类型转换,但它们和基本类型的转换还是有区别的,今天暂时不考虑。

(本人博客中所有题目都是我原创的,仅此一家,不买也来看看啊)

开始了,请听题。

题目很简单,自己编写一个模拟double到long的强制类型转换实现。即实现如下效果但不能使用语言提供的强制类型转换功能:

long a_long = (long) a_double;

考虑到语言之间的差异,下面分别说明一下题目的详细要求。

1. 喜欢C语言的看这里

请编写一个函数get_int_from_float,其原型如下:long get_int_from_double(double *)

该函数接受一个double指针类型的参数并返回其整数部分。

例如调用get_int_from_float(5.2),返回5。

注意,对于非常大的数,例如1.5E100,其实际的整数部分(实际上它就是一个整数)应该是15后面跟99个0这个数,但这个数太大,即使是long型也表示不了。此时不得不对结果进行截断(没办法,客观上被限制了)。

已知条件:各类型的长度确定,int和float都是32位,long和double都是64位。其他已知条件见后文。

要求:见后文

2. Java或C#版

请编写一个方法或函数:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值