鱼C论坛

 找回密码
 立即注册
查看: 1234|回复: 5

[已解决]第六节课后动手题

[复制链接]
发表于 2018-8-17 10:17:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
QQ图片20180817101050.png QQ图片20180817101101.png QQ图片20180817101015.png QQ图片20180817101034.png
非常奇怪,我觉得我打的跟答案一样,但就是显示结果不一样
最佳答案
2018-8-17 10:22:26
溢出了,C 的 math 要到 C11 吧才支持,一般只支持到 double。试试这个
  1. temp = (unsigned long long)pow(2,i); // 强制转换,确保类型一致
复制代码

下面 printf()   请确保是小写 L,看起来像 1 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-17 10:22:26 | 显示全部楼层    本楼为最佳答案   
溢出了,C 的 math 要到 C11 吧才支持,一般只支持到 double。试试这个
  1. temp = (unsigned long long)pow(2,i); // 强制转换,确保类型一致
复制代码

下面 printf()   请确保是小写 L,看起来像 1 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 12:15:19 From FishC Mobile | 显示全部楼层
我也感觉你的%llu看起来像1,不知道是不是字体的问题,我用vim小写L是有点弯弯的尾巴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 12:20:56 | 显示全部楼层
本帖最后由 关键是感觉 于 2018-8-17 12:29 编辑

#include<stdio.h>
int main(){
        long long b=2;
        long long c=1;
        int i;
        for(i=1;i<64;i++){       
                printf("%d %llu\n",i,b<<i-1);
                c+=b<<i-1;
        }
        printf("%llu %llu\n",c,(unsigned long long)c/25000);
}
感觉这样看起来好理解一点。
64个格子
第一个格子 1粒
第二个格子 2粒
第三个格子 4粒
第N个格子  M粒
其实就是 2^0 2^1 2^2 2^3 2^N次方
不需要pow()函数,为什么不使用pow函数?查看pow原型:extern float pow(float x, float y); ,带入所有的参数都需要转换成float
使用位移就能搞定
2D 10B
4D 100B
8D 1000B
16D 10000B
32D 100000B
左移规律。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-17 13:57:24 | 显示全部楼层
@小甲鱼,论坛有BUG。。就像楼主这样的上来就放一张图的帖子,打开后一直有提示下载图,看不到标题了啊。。

评分

参与人数 1贡献 +3 收起 理由
冬阳阳 + 3 确实!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-8-19 10:28:30 | 显示全部楼层
非常感谢大家的帮忙
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 02:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表