社区
C++ 语言
帖子详情
新手请教````
永远的明日
2008-05-24 11:31:14
log2(x) = log(x) / log(2);
输出log2(8)等于3,可为什么输出(int)log2(8)会等于2??(问题需要)
请教一下各位老大``,谢谢```
...全文
96
12
打赏
收藏
新手请教````
log2(x) = log(x) / log(2); 输出log2(8)等于3,可为什么输出(int)log2(8)会等于2??(问题需要) 请教一下各位老大``,谢谢```
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sukyin
2008-06-04
打赏
举报
回复
int main()
{
printf("%d",getIntLog(3,28));
}
sukyin
2008-06-04
打赏
举报
回复
int getIntLog(int a, int x)
{
int i = 1;
int res = 1;
for(;;++i){
res*=a;
if(res>=x) return res==x?i:(i-1);
}
}
tsocpp
2008-06-04
打赏
举报
回复
因精度问题被取整了
Peterry
2008-05-24
打赏
举报
回复
就直接(int)log2(x)
永远的明日
2008-05-24
打赏
举报
回复
谢谢楼上的各位``
我想请问要怎么才能取到log2(x)的整数部分?
Peterry
2008-05-24
打赏
举报
回复
我想应该是这个log()函数是浮点数的计算,所以首先不是那么精确,log2(8)返回的是一个非常接近3的浮点数,但是是小于3的,当你把返回值赋给一个int变量的时候,就会被四舍五入,所以变成了3,但是当你强制类型转换的时候,浮点数转int是直接舍掉小数点后面的部分,所以就是2
baihacker
2008-05-24
打赏
举报
回复
可能是内部精度问题...
jintianfree
2008-05-24
打赏
举报
回复
楼下
paidfighting
2008-05-24
打赏
举报
回复
int main()
{
cout << (int)log2(8) << endl;
return 0;
}
输出3
Peterry
2008-05-24
打赏
举报
回复
[Quote=引用 7 楼 gyjudrnrso 的回复:]
.......直接(int)log2(x)就是不行呀,例如上面的log2(8)= 3 ,(int )log2(x)= 2了```````
[/Quote]
整数部分本来就是2呀
Peterry
2008-05-24
打赏
举报
回复
[Quote=引用 7 楼 gyjudrnrso 的回复:]
.......直接(int)log2(x)就是不行呀,例如上面的log2(8)= 3 ,(int )log2(x)= 2了```````
[/Quote]
它的整数部分本来就是2呀。
永远的明日
2008-05-24
打赏
举报
回复
.......直接(int)log2(x)就是不行呀,例如上面的log2(8)= 3 ,(int )log2(x)= 2了```````
Delphi--抽象方法、重载、覆盖。继承实例
Delphi--抽象方法、重载、覆盖。继承实例Delphi--抽象方法、重载、覆盖。继承实例
一个CSS reset.css文件示例代码(下载)
摘要:脚本资源,CSS特效,reset.css 转载白鹿本人写的CSS中常用的 reset.css文件,用于重置html默认样式,前几天正好在论坛上看到有些CSS
新手
请教
如何写reset.css才是最好的,其实没有最好,只能说最适合自己的网站,每个人的要求和眼光不一样,因此 reset.css的具体代码也不尽相同,这一份reset.css同样只为您提供参考,交流一种方法。
requirejs
新手
上手课
requirejs
新手
上手课,大佬慎拍
新手
求助第二次输入数据怎么让switch函数重新确定-geshui.fig
新手
求助第二次输入数据怎么让switch函数重新确定-geshui.fig 各位大神,我是
新手
,自学matlab,编写了一个计算个税缴纳的计算器GUI,来熟悉matlab的函数。 思路是输入应发工资、公积金抵税额、五险一金,输出交税额、实发工资。 其中,应发工资、公积金抵税额是edit直接输入,五险一金提供了两种方法,第一种是直接输入总额,第二种是输入缴费基数、缴费比例,计算得到。 这两种方式通过radio button二选一来选择,分别为选项一、选项二。设置一个计算button,现在遇到的问题有两个,如下: 1、运行GUI后,输入应发工资、公积金抵税额,五险一金总额,radio默认是五险一金总额计算方法,点击计算button,不能输出结果到edit。须点选项二radio button,再点击选项一radio button,计算才能输出结果。 2、第一次计算后,修改五险一金总额edit数值,点击计算button,输出结果不改变。但是修改公积金抵税额edit数值,点击计算button,可以正常计算。
请教
大神,这两个问题如何解决?
新手
求助第二次输入数据怎么让switch函数重新确定-geshui.m
新手
求助第二次输入数据怎么让switch函数重新确定-geshui.m 各位大神,我是
新手
,自学matlab,编写了一个计算个税缴纳的计算器GUI,来熟悉matlab的函数。 思路是输入应发工资、公积金抵税额、五险一金,输出交税额、实发工资。 其中,应发工资、公积金抵税额是edit直接输入,五险一金提供了两种方法,第一种是直接输入总额,第二种是输入缴费基数、缴费比例,计算得到。 这两种方式通过radio button二选一来选择,分别为选项一、选项二。设置一个计算button,现在遇到的问题有两个,如下: 1、运行GUI后,输入应发工资、公积金抵税额,五险一金总额,radio默认是五险一金总额计算方法,点击计算button,不能输出结果到edit。须点选项二radio button,再点击选项一radio button,计算才能输出结果。 2、第一次计算后,修改五险一金总额edit数值,点击计算button,输出结果不改变。但是修改公积金抵税额edit数值,点击计算button,可以正常计算。
请教
大神,这两个问题如何解决?
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章