标准C语言

这篇博客介绍了C语言中的进制转换,包括二进制、八进制、十六进制之间的转换,以及原码、反码、补码的概念。此外,还讲解了位运算符的使用和函数的基本概念,包括标准库函数、自定义函数的声明、定义和调用。
摘要由CSDN通过智能技术生成

推箱子

    1、确定数字与字符的对应关系:

        路

        墙壁

        人

        箱子

        目标点

    2、定义二维数组地图

    3、定义人的坐标

    4、进入死循环

        1、清理屏幕并显示地图

        2、检查是否完成任务

            是:一共走了几步,结束程序

        3、获取方向键并处理

进制转换:

    为什么要使用二进制、八进制、十六进制

    因为CPU只能识别高低两种电流,只能对二进制数据进行计算

    因为二进制虽然可以直接被CPU识别计算,但是不方便书写、记录,所以把二进制的数据先转换成八进制是为了方便记录到文档中

    随着CPU的不断发展,位数不停增加,由早期的八位CPU逐渐发展到现在的64位,因此八进制不再满足需求,所以发展出了十六进制

    由于历史原因,八进制还不能完全退出历史舞台

    十进制转二进制:(转其他进制)

        求余法: 用2对数据求余,记录余数,然后继续对商求余,知道商为0结束,过程中产生的余数就是该数据的二进制(逆序)

        求权法: 从高位到低位,数据 - 2^(n-1),如果能减,第n位就是1,否则就是0

练习1: 输入一个正整数以及m,然后显示该正整数的m(m>=2)进制,超过10进制用字母表示(10A 11B 12C)

    二进制转十进制:

        每位的2^(n-1)求和

    

    二进制转八进制:

        第一位起每三位二进制位对应一位八进制

        二进制: 1 001 101 110 010

        八进制: 1 1   5   6   2

    二进制转十六进制

        第一位每四位二进制位对应一位十六进制

        二进制:     1 1101 0111 0010

        十六进制: 1    B      7      A

    

    在C语言中: 以0开头的数据都是十进制,以0x的数据都是十六进制

        %o 以八进制形式显示数据

        %h 以十六进制形式显示数据

        %#o %#x 以对应格式显示不同进制

原码、反码、补码:

    原码: 数据的二进制就是原码 -10 10001010

    反码:

        正数的反码就是原码

        负数的反码是原码除符号位外,其他位按位求反 11110101

    补码: 数据在内存中都是以补码形式存储

        正数的补码就是原码

        负数的补码

            1、转换成二进制的原码

            2、原码的符号位不变,其他按位求反得到反码

            3、反码+1得到补码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值