• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

I'm-going

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

1.7

整数浮点数转换二进制

#include <stdio.h>
int main(){
    //大于一的整数转二进制
//    int n = 6;
//    int num = 1;
//    int x = 0;
//    
//    while(n!=0){
//        x = x + (n%2)*num;
//        n = n/2;
//        num = num * 10;
//    }
//    printf("%d", x);
    
    // 小于一浮点数转换为二进制
    double n = 0.625;  // 0.5,0.25,0.125
    //double n = 0.125;
    int num = 0;
    double x = 0;
    while(n!=0){
        n = n * 2;
        if(n>=1){
            x = x*10 + 1;            
            n = n-1;
        }else{
            x = x*10 + 0;
        }
        num++;
    }
    while(num!=0){
        x = x*0.1;
        num--;
    }
    printf("%f\n", x);
    
    return 0;
}

 

posted on 2020-03-07 17:24  I'm-going  阅读(295)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3