1、计算机中的进制

2进制:逢二进1      0  1

8进制:逢八进1      0  1   2  3  4  5  6  7

10进制:逢十进1 
默认的进制  0 - 9

16进制:逢十六进1   0 - 9  A B C D E F      (内存的地址格式)

2、进制的转换问题

三个要素:

数位(0-7)、

基数(每一位能取值的个数)、

位权(数码*基数^数位)、    101 = 1*2^0+0*2^1+1*2^2

数码(每一位设置)

转换:有得时候转换为人能识别的数制,要操作计算机写计算机可以识别的语言(二进制)

10 -> 2  :  除2取余法,把10进制数除以2,然后取得余数的序列。再倒序

2  -> 10 :  全部位的位权相加 101 = 1*2^0+0*2^1+1*2^2

2 --> 16 :  4合1法。
整数部分从右向左 4位结合成一位。小数部分从左向右4位结合1位,不足部分补0

16 -->2  :  1拆4法。 16进制的1位拆成二进制的4位

2 --> 8  : 3合1

8 --> 2  : 1拆3

8 --> 10 : 8--> 2 --> 10

16 --> 10: 16 -->2 -->10

3、原码、反码和补码

1)机器码、真值

一个数的二进制的表示 
机器码

把一个数的二进制转换为10进值得值 
真值

2)计算数据的存储

存储的时数的补码

数是有正负性

正数:最高位
用0表示符号位

负数:最高位
用1表示符号位

3)原码、反码、补码:

正数:就是其二进制表示         +1 00000001

负数:二进制的最高位是1        -1 10000001

反码:

正数:就是其二进制表示         +1 00000001

负数:符号位不变,其它位逐位取反 -1 11111110

补码:

正数:就是其二进制表示         +1 00000001

负数:反码+1                 -1 11111111

注意:补码的真值不等于原码的真值的

4、为什么要使用补码?

主要是位了优化计算机中的减法

5、补码的深入解说

1-1   =  1+(-1)

6、位运算符

二进制数码之间的运算

6个符号

& 按位与:逐位运算,有0则为0,同1则为1

| 按位或:有1为1

^ 按位异或:同样为0。不同为1

~ 按位的取反:0变1。1变0

>> 按位右移:把一个数的所有的二进制位所有向右移动指定位数 10>>2;

注意:移出的位舍弃,高位补符号位,可能让一个数为0

<< 按位左移

把一个数的所有的二进制位所有向左移动指定位数

注意:移出的位舍弃。低位补0。可能会改变一个数的正负性

11&2

1011

&  0010

--------------

0010

技巧:

不论什么数和1按位&操作。得到这个数的最低位

偶数的最低位 0

奇数的最低位 1

7、变量在内存中存储的细节

内存分配给变量的存储空间是从高到低

一个变量低位低地址

高位存放高地址

8、char类型

char

char常量  'a','b',

以int型进行存储,占4个字节

char变量

【C语言疯狂讲义】(七)C语言进制转换的更多相关文章

  1. 一起talk C栗子吧(第七回:C语言实例--进制转换)

    各位看官们.大家好,从今天開始.我们讲大型章回体科技小说 :C栗子,也就是C语言实例. 闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们.上一回中咱们说的是生成随机数的样例.这一回咱们说的 ...

  2. C语言关于进制转换,补码, 整数的位操作

    菜单导航: 1.二进制.八进制.十进制.十六进制的相互转换 2.原码.反码.补码 3.举例证明整数在计算机内是以补码的形式存在(以负数为例) 4.整数的位操作:按位且&.或|.异或^.取反~ ...

  3. C语言实现进制转换——超图面试题

    递归:递归的原理,就是自己调用自己本身.存在一个顺序的问题,如果在递归前的是顺序执行,递归后的是逆序执行,如下: void gogogo() { //递归之前 gogogo(); //递归之后 } 递 ...

  4. C语言拼接字符串以及进制转换

    #include<stdio.h> #include<stdlib.h> #include<string.h> char *join1(char *, char*) ...

  5. C语言 进制转换

    这个程序仅仅是由十进制转换为其他进制的过程,其转换的规则如下图所示. 我使用的思路:首先在除基的过程中用一个数组保存余数,然后在输出进制转换结果的时候倒序输出,并且在输出前判断余数是否大于10,如果大 ...

  6. C语言基础——进制转换 / 数据表示

    第一部分:进制转换 二进制:由0~1构成,逢2进1 八进制:由0~7构成,逢8进1 十六进制:由0~9.A~F构成,逢16进1 两个基本概念 基数:n进制基数为n 123.4 = 1*10^2 + 2 ...

  7. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  8. Java基础(进制转换-)

    进制概述: 进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数). 对于任何一种进制---X ...

  9. java se系列(二) 关键字、注释、常量、进制转换、变量、数据类型转换、运算符

    1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名.方法名.类名.包名. 1.2 常见的关键字 备注 ...

  10. Knowledge Point 20180305 机器数转换与进制转换

    机器数(这里的机器数说的就是数值在计算机中的存储形式,相关可以了解数据在计算机中的表示)之间的转换往往是通过原码来实现的,下面我们结合进制来来一下: 进制也就是进位制,是人们规定的一种进位方法. 对于 ...

随机推荐

  1. syntax error near unexpected token `then'问题的解决

    http://blog.csdn.net/gongmin856/article/details/7690917 #!/bin/bash #if program test echo 'a:' read ...

  2. Codeforces 270E Flawed Flow 网络流问题

    题意:给出一些边,给出边的容量.让你为所有边确定一个方向使得流量最大. 题目不用求最大流, 而是求每条边的流向,这题是考察网络流的基本规律. 若某图有最大,则有与源点相连的边必然都是流出的,与汇点相连 ...

  3. scrapy的CrawlSpider使用

    1.创建项目 我这里的项目名称为scrapyuniversal,然后我创建在D盘根目录.创建方法如下 打开cmd,切换到d盘根目录.然后输入以下命令: scrapy startproject scra ...

  4. [ nginx ] 带宽下载限速

    nginx上了一个APP提供给用户下载,考虑到带宽占用的问题,决定在nginx上做下载限速处理. 操作系统:Centos6.7 X64 nginx版本:nginx/1.11.3 根据官方文档: 对ng ...

  5. 原创 gif png bmp jeg 显示方法

    /// <summary> /// 注意不要忘记引用那几个图片单元哦,除了bmp格式不需要引用任何单元, /// 其它图片格式都需要引用对应的图片单元 /// png ---> Vc ...

  6. python算法:约瑟夫问题

    据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特後,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41 ...

  7. java连接Fastdfs图片服务器上传失败的解决方法

    照着视频上做,但是却连接不了虚拟机linux上的图片服务器,估计是linux防火墙的问题(这个实在是神烦,前面有好几次连接不了都是因为linux防火墙),果不其然,关闭即可. Linux关闭防火墙的命 ...

  8. 如何设置Google Chrome的界面显示语言

    昨天不小心,把Chrome浏览器的界面语言换成了中文, 结果换不回去英文了!!! 这是为啥呀? 我本来使用的是英文界面,换成中文却不让换回原来的语言,这怎么也说不过去吧. Google了一会子也没找到 ...

  9. React--基础学习混搭

    最近学习一下React,通过  阮一峰<React 入门实例教程> .React 入门教程.菜鸟教程--React 这三个学习基础使用,接下来看慕课网的三个教学视频. React是什么我也 ...

  10. 26、Django实战第26天:配置全局导航

    1.编辑index.html,继承base.html 2.编辑base.html,根据是否登录不同显示 问题:当我们选中一个导航,选中样式并没有成为选中的状态 因此我们编辑base.html对导航中进 ...