C语言笔记-进制转换

本文详细介绍了C语言中不同进制间的转换,包括十进制转二进制、二进制转八进制和十六进制,以及二进制与八进制、十六进制的相互转换。此外,还讲解了原码、反码和补码的概念,以及位运算符的使用。最后,探讨了C语言中的函数分类,包括标准库函数、系统函数、第三方库函数和自定义函数。
摘要由CSDN通过智能技术生成

一、进制转换
    为什么要使用二进制、八进制、十进制、十六进制
        因为现在的CPU只能识别高低电平,只能对二进制数据进行计算
        虽然二进制的数据可以直接被CPU识别计算,但是不方便书写、记录,把二进制的数据转换成八进制是为了方便记录到文档中
        由于CPU的位数的发展不断增加,由8位逐渐发展到现在的64位,因此八进制就不能满足需求了,所以发展到十六进制,但是由于历史原因八进制还不能完全淘汰

十进制转二进制:(转其他进制)
    求余法:用2对数据求余,然后继续对商求余,直到商为0结束,该过程中产生的余数就是该数据的二进制(逆序)
        n%2 == 1\0
        商%2 == 1\0
        ...
        直到商为0
        余数的逆序就是n的二进制
    127 % 2     1
    63  % 2     1
    31  % 2     1
    15  % 2     1
    7   % 2     1
    3   % 2     1
    1   % 2     1
    0
    01111111

    求权法:
        数据 - 2^(n-1)如果够减,那么第n位就是1,否则就是0,直到把数据减为0
    137
    128 64 32 16 8 4 2 1
    1   0   0  0 1 0 0 1
    手算: 86 72 112 176

    练习1:输入一个正整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值