加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数加法

发布时间:2020-12-14 04:09:57 所属栏目:大数据 来源:网络整理
导读:? 今天一个朋友豌豆荚面试的唯一一个算法题:大数加法,写程序或者说思路。 下面的一些理解来自网络。 ? 1.大数,指的是超过int 32位的数。 4个字节,最高位是符号位,1用来表负数。剩下31个bit来表示数值,1000...00(31个0)~22222...11(32个1),不是2的31次

?

今天一个朋友豌豆荚面试的唯一一个算法题:大数加法,写程序或者说思路。

下面的一些理解来自网络。

?

1.大数,指的是超过int 32位的数。4个字节,最高位是符号位,1用来表负数。剩下31个bit来表示数值,1000...00(31个0)~22222...11(32个1),不是2的31次方多个变化吗?每一个变化用来表示一个负数。
至于每一种变化表示那个负数,那你还要学习一下原码、反码和补码的知识。

?

2.我记得Integer类有两个静态常量
1.MAX_VALUE值为?2的31次方-1?的常量,它表示?int?类型能够表示的最大值。
2.MIN_VALUE?
?值为?-2的31次方?的常量,它表示?int?类型能够表示的最小值。

?

3.java中int是32位?-->?数值范围长度是2的32次方
-->?java中没有unsign数值的概念,因此正数和负数各占一半
-->?负数:[-2的31次方,?0)
????正数:[0,?2的31次方-1]???将0作为正数处理

?

4.负数的值是这样得出的:JAVA中int是4个字节,
数0?=?00...0000(共32个0)
数-1=?11...1111(共32个1)
数-2=?11...1110(共31个1,最后一个是0)
数-3=?11...1101
数-4=?11...1100(共30个1,最后两个是0)
这样排下去。。。
最后一个负数[最小]是-2的31次方=100..00(一个1,最后31个是0)

?

5.我个人觉得是否和下面的2个类有关系,可以看看。

? BigInteger ? bi ;
? BigDecimal ? bd ;

?

?

延伸:大数阶乘的实现思路及代码

http://www.voidcn.com/article/p-ojfkaztt-cu.html

?

?

参考链接:

?http://www.voidcn.com/article/p-thewnqim-cu.html

?http://www.cnblogs.com/zhangchaoyang/articles/2727225.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读