社区
C++ 语言
帖子详情
float数值可以进行求余运算么??
xychzh
2011-03-09 09:06:05
我想要对一个超过42亿的数值进行求余运算,结果试了一下float类型,居然不让运算。
...全文
1031
16
打赏
收藏
float数值可以进行求余运算么??
我想要对一个超过42亿的数值进行求余运算,结果试了一下float类型,居然不让运算。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
辰岡墨竹
2011-03-09
打赏
举报
回复
这个必须用BigInteger之类的大整数库,double是保存小数用的,而且精度不超过科学计数法十三位小数,你哪128位以上的部分早截掉了。自己用数组,比如大数分割为32位二进制数的段,利用嵌入汇编处理好进位,求余应该最快。
赵4老师
2011-03-09
打赏
举报
回复
大数循环减除数
showjim
2011-03-09
打赏
举报
回复
找个大数运算库吧
xychzh
2011-03-09
打赏
举报
回复
我要存储的一个数值最小都128位,最大都有1024位甚至更高。
看来,得想其他办法存储了。
xychzh
2011-03-09
打赏
举报
回复
[Quote=引用 9 楼 iicup 的回复:]
float不能精确保存大于42亿的数字,用double或者longlong吧.
[/Quote]
恩,的确没想到long long这个类型,的确可以。
但是我现在发现,long long也远远不能达到我的需求,我算的数是255的e次方,这个e可能是成千上万。
我在写RSA加密解密算法,现在的问题就是由大素数产生的高精度数据存储问题。
cuidx
2011-03-09
打赏
举报
回复
用float可能会有精度的问题,同意楼上用long long类型
cuidx
2011-03-09
打赏
举报
回复
不好意思,是我理解错了...
双杯献酒
2011-03-09
打赏
举报
回复
float不能精确保存大于42亿的数字,用double或者longlong吧.
双杯献酒
2011-03-09
打赏
举报
回复
double fmod(
double x,
double y
);
float fmod(
float x,
float y
); // C++ only
long double fmod(
long double x,
long double y
); // C++ only
float fmodf(
float x,
float y
);
witwolf
2011-03-09
打赏
举报
回复
long long试一下
xychzh
2011-03-09
打赏
举报
回复
[Quote=引用 1 楼 namelij 的回复:]
貌似求余在库里面是double型,试试double
[/Quote]
哪个库?
xychzh
2011-03-09
打赏
举报
回复
[Quote=引用 2 楼 cuidx 的回复:]
整数除法 有 商几余几
小数除法哪有余数,商还是小数啊
[/Quote]
单精度不一定就是小数。
10000000000000000000000000000000.0f 这就是一个整数
sxqinge
2011-03-09
打赏
举报
回复
将数据拆分下计算试试?
waxilo1988
2011-03-09
打赏
举报
回复
貌似 真的 不可以! 新手 求解释, 等围观
cuidx
2011-03-09
打赏
举报
回复
整数除法 有 商几余几
小数除法哪有余数,商还是小数啊
高性能架构探索
2011-03-09
打赏
举报
回复
貌似求余在库里面是double型,试试double
各类
数值
型数据间如何混合
运算
?
整型(包括int,short,long)、实型(包括
float
,double)可以混合
运算
。前已述及,字符型数据可以与整型通用,因此,整型、实型、字符型数据间可以混合
运算
。例如: 10+'a'+1.5-8765.1234 *'b' 是合法的。在
进行
...
关于Python中,int()与
float
()在处理
数值
型字符串时的约束
综合来说:利用input获取的数据对象,是字符串类型的,不能直接
进行
运算
。必须转化成显式的
数值
,才能
进行
后续的加减,比较等...也就是如果s是
数值
型字符串,那么经过eval后,s就变成了纯
数值
,可以直接
进行
后续的
运算
。
float
和double浮点数的
运算
过程
float
和double浮点数的
运算
过程 目录 用 [TOC]来生成目录:
float
和double浮点数的
运算
过程 目录 1. 浮点数在计算机底层的存储方式 2. 十进制数与二进制浮点数之间的转换 3. 加减
运算
4. 总结 ...
Java中的浮点数据(
float
、double)
进行
算术
运算
时出错的问题剖析
对浮点数
进行
算术
运算
时,为何
运算
结果不正确? BigDecimal类型、常用方法的讲解。 简单的浮点数算术
运算
工具类的设计。 在Java前面讲解
float
、double两种基本浮点类型时已经指出,这两个基本类型的浮点数容易引起...
C语言不同数据类型间的混合
运算
+常见数据类型
在程序中经常会遇到不同类型的数据
进行
运算
,若一个
运算
符两侧的数据类型不同,则先自动
进行
类型...2. 若int型与
float
或double型数据
进行
运算
,先将int型和
float
型转换为double型,然后
进行
运算
,结果为double型; ...
C++ 语言
65,208
社区成员
250,519
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章