十进制正整数转换成其它进制数(含负)

文章讲述了在解决LeetCode上的1017题时遇到的困难,即负二进制转换的问题。作者回顾了正整数到二进制的转换过程,并指出负数转换的复杂性,特别是涉及负商和二进制表示的规则。作者承认目前对此还未完全理解,并计划进一步研究。
摘要由CSDN通过智能技术生成

今天在刷Leetcode时,做到1017.负二进制转换,一时间毫无头绪,虽然参考了大佬的题解,但是仍然不是特别懂,在此过程中回忆了之前的十进制正整数转换成二进制数。

十进制整数转换成(正)二进制数策略:

除2之后将余数倒序排列, 直到商小于1 

举例子如下:

例如8为二进制数(这里以其表示的整数来看):依据正整数转二进制数策略,每次进行除2操作(8位中"x"代表"1")

原数据为 x000xxx0
第一次: x000xxx  -> 余0
第二次: x000xx   -> 余x
第三次: x000x     -> 余x
...
这就容易理解了,若某次除2,其余数为1,则代表本次二进制数的末尾是1

但是负二进制转换就不明所以了,因为其中需要考虑的东西太多,会出现商为负数的情况,这就很麻...暂时没搞懂,等搞懂了就会回来更的!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值