一、进制转换
    1、为什么要使用二进制、八进制、十六进制
        因为目前的CPU只能识别高低两种电平,只能对二进制数据进行计算
        二进制虽然能够直接被计算机识别,但是不方便人去书写和记录,因此就把二进制数据转换成八进制,方便记录到文档中
        随着CPU的位数的不断增加,已经到目前的64位,所以八进制不再能够满足需求,因此发展出现在的十六进制
   
    2、十进制转其它进制:求余法、求权法
    3、其它进制转十进制:每位乘权位再求和
    4、二进制转八进制:
        从低位起,每三个二进制位对应一个八进制位
        二进制:10 101 110 111 100
        八进制:2   5   6   7   4
    5、二进制转十六进制
        从低位起,每四个二进制位对应一个十六进制位
        二进制: 10 1011 1011 1100
        十六进制:2   B   B   C
    6、不同进制在程序中的显示
        C代码中,以0开头的数据是八进制数据,以0x/0X开头的是十六进制数据
        进制数据:
            %x      让数据以十六进制显示
            %o      让数据以八进制显示
            %#x %#o 显示出数据对应的进制前缀
   
    7、原码、反码、补码
        原码:数据的二进制
        反码:
            正数的反码就是原码
            负数的反码:符号位不变,其它位按位求反
        补码:
            正数的补码就是原码
            负数的补码:反码+1
    8、补码如何转成数据:
        先确定是有符号还是无符号
            1、无符号或最高位为0:补码直接转成十进制
            2、有符号且最高位为1:
                a、补码-1,得到反码
                b、符号位不变,其余位按位求反,得到原码
                c、原码转十进制数
二、位运算符
    &   按位相与
    |   按位相或
    ~   按位求反
    ^   按位异或
    <<  按位左移n位,左边超出的丢弃,右边补0
    >>  按位右移n位,右边超出的丢弃,左边补符号位(正0负1)
    注意:只要式子中出现了位运算符,必须转换成*二进制补码再进行运算

Linux & 标准C语言学习 <DAY8_1>的更多相关文章

  1. Unix和Linux下C语言学习指南

    转自:http://www.linuxdiyf.com/viewarticle.php?id=174074 Unix和Linux下C语言学习指南 引言 尽管 C 语言问世已近 30 年,但它的魅力仍未 ...

  2. linux 下C语言学习路线

    UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

  3. UNIX/Linux下C语言的学习路线

    一.工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具. 1.操作系统    在UNIX或 ...

  4. C语言学习008:标准错误

    在上一节中的数据文件中(C语言学习007:重定向标准输入和输出),如果文件中的数据包含非法数据,如何让程序显示一条错误的提示消息呢?就需要用到标准错误 #include <stdio.h> ...

  5. Linux下C语言编程基础学习记录

    VIM的基本使用  LINUX下C语言编程 用gcc命令编译运行C语言文件 预处理阶段:将*.c文件转化为*.i预处理过的C程序. 编译阶段:将*.i文件编译为汇编代码*.s文件. 汇编阶段:将*.s ...

  6. 实验四 Linux系统C语言开发环境学习

    项目 内容 这个作业属于哪个课程 Linux系统与应用 这个作业的要求在哪里 作业要求链接 学号-姓名 17041428-朱槐健 作业学习目标 1.Linux系统下C语言开发环境搭建 2.学习Linu ...

  7. 【C语言学习】《C Primer Plus》第1章 概览

    学习总结 1.C语言于1972年由贝尔实验室的Dennis Ritchie在与Ken Thompson一起设计UNIX操作系统的时候开发的.的的设计构想来源于Ken Thompson的B语言.Anyw ...

  8. LINUX下C语言编程基础

    实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

  9. 郝斌老师C语言学习笔记(一)

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...

  10. 【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)

    原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年 ...

随机推荐

  1. IDEA的主题插件

    Xcode-Dark Theme

  2. libevent学习之入门--[02]从hello-world开始

    系列文章回顾 libevent学习之入门--[01]概述与安装 上一节介绍了libevent的下载和编译,从这节开始,我会从我学习的角度逐步探索libevent的源码,慢慢揭开它的神秘面纱. 面对几十 ...

  3. centos7的mysql主从

    互为主从关闭两台虚拟机的防火墙1.yum -y install mariadb-server mariadb2.Systemctl start mariadb3.进入配置文件:vi /etc/my.c ...

  4. Docker之基本原理介绍

    Docker 环境搭建请移步:https://i.cnblogs.com/posts/edit;postId=14090026 First:docker能做什么? 传统的环境部署: 1.环境和项目分开 ...

  5. 从NCBI中下载各物种参考基因组

    1. 打开NCBI 2. 输入物种名,以HPV为例: 搜索,到genomes分栏下面选择Assembly点击进去 3. 进去下面的界面,再点击RefSeq进入下载界面 4. 进入下载界面: HPV参考 ...

  6. laravel5.5 数据查询记录

    laravel5.5版本数据查询 基于 prettus/l5-repository 插件 首先安装好 prettus/l5-repository插件 配置相关参数 1 根据条件查询数据总数 publi ...

  7. PC端钉钉扫码登录,报错情况合集

    "对不起 你无权限查看该页面 redirect_url不能为空" 原因: 1. 只对redirect_url编码,而生成二维码时需要对整个gotoUrl进行编码 2. appid参 ...

  8. NRF52832的FDS程序,参考非蓝牙例程修改而来(需要增加DFU的基础上只要增加如下程序即可解决)

    /* Dummy configuration data. */ static configuration_t m_dummy_cfg = { .config1_on = false, .config2 ...

  9. ASP.NET的MVC模式中分布页和布局页的使用

    大概描述一下,分布页是布局页的一部分,分布页就相当于小图标,布局页就相当于PPT模板,PPT模板可以加入一些小图标(分布页),你只需要改改内容就好,视图创建的时候要选择包含布局页的 首先,去Contr ...

  10. 查看shell 用户连接数

    w | grep pts |wc -l