前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >十进制转为二进制

十进制转为二进制

作者头像
From Zero
发布2021-03-14 23:52:51
7020
发布2021-03-14 23:52:51
举报
文章被收录于专栏:C语言C语言

十进制转为二进制

一.整数
1)权和法

将所要操作的整数分解写为2的n次方的和,其中最低位是2^0=1

例:9 = 8 + 1 or 9 = 2^3 + 2^0

​ 2^3 2^2 2^1 2^0

​ 1 0 0 1

​ 所以9的二进制数是1001

2)除2取余法(重复除2法)

将要操作的十进制数重复除2,可得余数0或1;将最先得到的余数作为LSB,最后的做MSB

例:

12(原数)

Remainder(余数)

12/2 = 6

0(LSB)

6/2 = 3

0

3/2 = 1

1

1/2 = 0

1(MSB)

​ 所以12的二进制数是1100

二.小数
1)权和法

具体操作和整数一样,只是二进制的各位所占的权重由-1到-n

例:0.625 = 0.5 + 0.125 = 2^(-1) + 2^(-3) = 0.101

2)乘2取整法(重复乘2法)

将要操作的十进制数重复乘2,可得进位0或1;将最先得到的进位作为MSB,最后的做LSB

例:

0.3125(原数)

Carry

0.3125*2 = 0.625

0(MSB)

0.625*2 = 1.25

1

1.25*2 = 0.50

0

0.50*2 = 1.00

1(LSB)

​ 所以0.3125的二进制数是0.0101

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 十进制转为二进制
    • 一.整数
      • 1)权和法
      • 2)除2取余法(重复除2法)
    • 二.小数
      • 1)权和法
      • 2)乘2取整法(重复乘2法)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档