算法第二弹:十六进制转换成十进制

非(qiang)常(po)乐(zi)意(ji)来一起讨论下如何十六进制转成十进制算法。

OK,开始前我不得不再次普及下基础知识。基础知识学不好,就好比一座地基不稳,材质松垮的危房。

强调几点:

十六进制数0xFF,代表:一个字节(byte) = 8bits 。写成2进制0b11111111,这里的1各自占1bit.

而十六进制中F是占4bit 。十六进制一个位范围是0x0-0xF  不就是刚刚对应0x0000~0x1111 。我们平常所说的32位数据 其实数值范围就是0x00000000(8个0)~0xFFFFFFFF(8个F) ,为什么要举32位数据,因为你肯定不陌生 int类型了解吧?一般来说就是代表32位整形数据。 最后在来一个0x12F

你可以先写成二进制0b0001 0010 1111,其实呢前面3个0省略吧,那就写成0b1 0010 1111.现在知道占几位了吧 9bit.但是貌似八进制无法满足它,装不下了,那用十六进制存吧 int16_t = short int。一般我们可以那么写  typedef  short int  int16_t 。


//今天只能讲思路 时间不允许

好了,小菜结束。还是来个简单的开始。给定一个十六进制数 小于32bits 例如0x123456F  转成十进制。

转换公式应该是1 *16^6 +2*16^5+3*16^4+...+6*16^1+F*16^0   很简单吧.......  人工算是这样没错,因为一目了然啊,但是我们需要的是一个程序,它的要求是࿱

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值