一、进制转换
    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. Linux基础第三章:Linux软件安装及yum本地库创建

    一.Linux软件安装 1.Rpm包安装 2.yum仓库安装 二.yum本地库建立 一.Linux软件安装软件安装共2种安装方式,通过rpm包安装或通过yum仓库库安装. 1.Rpm包安装rpm:Re ...

  2. Ajax JavaScript传参-javascript加载本地文件

    get请求需要拼接到url里面 post请求,需要放到send方法里面,后端取值的时候,Ajax用JavaScript传输跟用postman传输,取值方式有些区别,这里做一下详细记录 传参格式{'id ...

  3. windows 和 linux 之间的文件传输操作

    参考:http://www.jb51.net/article/123378.htm 本文介绍,如何实现 windows 主机与 linux 虚拟机之间的文件传输. 一.获取虚拟机 IP 地址 要实现 ...

  4. STM32F103 的 USART5使用

    STM32F103zet6 的串口5是UART5   不是  USART5

  5. HFSS 报错汇总

    多层pcb,背地共面波导微带线: 建模时如下结构:Top+diel1+diel2+diel3+diel4+diel5,参考层都应该在diel内部,否则会出现如下报错: [warning] Port r ...

  6. 链表与malloc的疑惑

    1.奇怪点:如果我只是需要一个结点的空间为什么malloc的转换形式写成--Node=(int *)malloc(sizeof(int)) 自我解答:void *malloc(unsigned int ...

  7. 4组-Beta冲刺-3/5

    一.基本情况 队名:摸鲨鱼小队 组长博客:https://www.cnblogs.com/smallgrape/p/15600609.html github链接:https://github.com/ ...

  8. node.js与js的关系

  9. springboot项目控制台日志不是彩色的原因

    采用springboot的方式启动,而不是application的方式启动,即可

  10. PS将多个图片合并成长图

    1.将所有图片拖到ps里面排好序.这里图层需要倒序,合成长图上面的图片要在图层的下面.图层倒序的方法:图层→排列→反向. 2.设置画布大小.假设18张图片,每个图片的高度是1448像素,则设置画布的高 ...