进制数转换

今天就讲一下进制方面的知识,因为后面要用到,提前拿出来说一下。。。。。。

好吧是我想偷懒。。。

那是为了下一个两千字大更做准备,没错就是这样。

在C中针对整数常量提供了四种表现形式:

A:二进制 由0,1组成。以0b开头。
B:八进制 由0,1,...7组成。以0开头。
C:十进制 由0,1,...9组成。整数默认是十进制。

D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

1:其他进制到十进制
系数:就是每一位上的数据。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。

结果:把系数*基数的权次幂相加即可。


示例:二进制数10010------2^4+0+0+2^1+0=18

          八进制数12345------1*8^4+2*8^3+3*8^2+4*8^1+5*8^0=5349

          十六进制数1a2b-----1*16^3+10*16^2+2*16^1+11*16=6699

好吧结果我是拿计算器算的,但是列式是没错的。。。。。。


2:十进制到其他进制

除基取余,直到商为0,余数反转。

示例十进制数52

得到二进制:
52 / 2 = 26 0
26 / 2 = 13 0
13 / 2 = 6                1
6  / 2 = 3                 0
3  / 2 = 1                 1
1  / 2 = 0                 1

0b110100(0b表示二进制)

得到八进制:
52 / 8 = 6          4
6  / 8 = 0                  6

064            (0表示八进制)

得到十六进制:
52 / 16 = 3          4
3  / 16 = 0          3

0x34            (0x表示十六进制)


另外还有一种算法叫8421码。

8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。
在这种编码方式中每一位二值代码的1都是代表一个固定数值,

把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。

十进制和二进制的快速转换
8421码
100转成二进制
101101转成十进制
二进制和八进制,十六进制如何转换
以十进制作为桥梁
二进制到八进制 3位组合
100110
二进制到十六进制 4位组合
100110

很迷是不是?这是网上找来的。某教程中还有更形象的图片,就用这吧




就这两种算法吧,当然还有更好的方法,那就是计算器。

下面介绍一个计算机装比打开方式

windos+R------>输入calc------>回车

拿去装X


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值