进制

一种计数的方式.侧重点在于计数的时候是逢多少进一.

1)      C语言可以识别的进制

  1. 二进制

      每一位. 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0

      在C语言中,写一个二进制的数的方式就是在前面加一个 0b或者0B的前缀,二进制每一位是0或者1,逢2进1;

  2. 八进制

      每一位. 0 1 2 3 4 5 6 7 10 11

      在C语言中,写一个八进制的数的方式就是在前面加一个 0的前缀,逢8进1;

%o    将整型变量中得数据以八进制的形式输出

  3. 十进制

      每一位. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

       在C语言中直接写1个整数,那么默认就是十进制,逢10进1;

      %d    将整型变量中得数据以十进制的形式输出

  4. 十六进制

      每一位. 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12

      在C语言中,写一个十六进制的数的方式就是在前面加一个 0x或者0X的前缀,逢16进1;

%x    将整型变量中得数据以八进制的形式输出

2).进制之间的转换

a. 基本概念

数码: 指的是这个数据的每一位的数字.

数位: 数码在这个数中的位置.从右到左.依次递增从 0 开始.

基数: 就是每一个数码可以有多少个数据来表示.

(基数其实指的就是这个数的进制).

位权: 数码乘以(基数的数位次方)

任何数的0次方都为1.

b. 十进制转换为二进制

除2取余法. 将这个数除以2. 直到商为1或者0. 然后最后1个商和所有余数倒序. 就是这个十进制对应的二进制.

例:

10 的二进制是 1010

178 的二进制是10110010

c. 二进制转换为十进制

加权法:将这个二进制数的每个数码的位权相加,就是这个二进制对应的十进制.

10101  每1个数码的位权相加.

第0位的位权: 1 * 2的0次方    1

1      *                    0

2      *                    4

3      *                    0

4        *                  16

d.      十进制转换为八进制

除8取余(与十进制转换为二进制方法类似)

e.      八进制转换为十进制

加权法:将八进制的每1个数码的位权相加 得到的就是其对应的十进制数.

0342

第0位: 2 * 8的0次方  2

1     4 * 8的1      32

2     3 * 8的2     192

f. 二进制转换为八进制.

三合一法则:将这个二进制从低位到高位每三位分成1组.高位不够补0将每1组转换为十进制.最后将每1组的十进制连起来. 就是这个二进制对应的八进制.

001 011 100 110 011

1    3   4    6   3

g. 八进制转换为二进制.

一拆三:将这个八进制数的没1个数码拆为1个三位的二进制数.把这些二进制数连起来.

134674

001 011 100 110 111 100

h. 二进制转换为十六进制.

四合一法则:将这个二进制从低位到高位每四位分成1组.高位不够补0

将每1组转换为对应的十六进制.最后将每1组转换成功的十六进制数链接起来.

11100101010111110111101010101

0001 1100 1010 1011 1110 1111 0101 0101

1    c    a     b     e     f      5    5

k. 十六进制转换为二进制.

一拆四法则:将这个十六进制的书的每1个数码拆为1个四位的二进制数,将其连起来.

4dea761;

0100 1101 1110 1010 0111 0110 0001

C语言之进制的更多相关文章

  1. java语言基础-进制

    一丶Java语言基础:进制 1.进制的四种表现形式 (1).二进制:0,1 满2进1. (2).八进制0-7 :满8进1,用0开头表示. (3).十进制:0-9 满10进1. (4).十六进制:0-9 ...

  2. C语言中进制知识总结

    1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...

  3. 新手第一天学习 C#语言(进制互换)

    说起来我们对一些陌生或者未知的东西有一些恐惧感,但是又有一些期待,虽然我不确定自己能不能学会这门语言,但是我会尽自己最大的努力学. 我们第一天学的的内容呢,对大多数的人都知道,计算机的语言是二进制,但 ...

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

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

  5. C语言下进制的使用

    进制规则 十进制 以正常数字1-9开头,如123 八进制 以数字0开头,如0123 十六进制 以0x开头,如0X123 二进制 C语言不能直接书写二进制数 案例如下 int main() { int ...

  6. C语言基础--进制

    进制表示: // 1.默认就是10进制 ; // 2.在前面加上一个0就代表八进制 ; // %d是以十进制的方式输出一个整数 printf("%d\n", num1); // % ...

  7. C语言实现进制转换

    #include<stdio.h> int main() {     char ku[16]={'0','1','2','3','4','5','6','7','8','9','A','B ...

  8. C语言基础:进制转换,变量,常量,表达式,基本数据类型,输出函数,输入函数,运算符. 分类: iOS学习 c语言基础 2015-06-10 21:39 25人阅读 评论(0) 收藏

    二进制:以0b开头,只有0和1两种数字.如0101 十进制:0~9十个数字表示.如25 十六进制:以0~9,A~F表示,以0X开头.如0X2B 十进制转换为X进制:连除倒取余 X进制转换为十进制:按权 ...

  9. 【学习笔记】【C语言】进制

    1. 什么是进制 是一种计数的方式,数值的表示形式 2. 二进制 1> 特点:只有0和1,逢2进1 2> 书写格式:0b或者0b开头 3> 使用场合:二进制指令\二进制文件,变量在内 ...

随机推荐

  1. PDF解决方案(4)--在线浏览

    相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇主要提到了PDF在线浏览的各 ...

  2. robin 今日南

    我很高兴,在学校体育馆看到李彦宏博士. 这是第一个真正的一次在媒体上看到,只能看到人才足够多的人,现实,我觉得非常好. 我不是一个真正罗宾的粉丝.百度是不是很热衷于这家公司.,但现在我仍然兴奋,我会被 ...

  3. C# 中参数验证方式

    C# 中参数验证方式 一般在写方法的时候,第一步就是进行参数验证,这也体现了编码者的细心和缜密,但是在很多时候这个过程很枯燥和乏味,比如在拿到一个API设计文档的时候,通常会规定类型参数是否允许为空, ...

  4. grep、egrep、fgrep的用法与特性详解

    [转载自]http://tanxw.blog.51cto.com/4309543/1361993 开篇        学习Linux也有一段时间了,对Linux多少也算是有点了解了,越是了解也就越对这 ...

  5. Idea安装GO语言插件

    https://github.com/go-lang-plugin-org/go-lang-idea-plugin 安装方法写的很清楚,网上也很多我就不细写了,只是有一个问题,下载插件下不下来,懒得找 ...

  6. (转载)Log4Net 在多层项目中的使用小记

    (原创)Log4Net 在多层项目中的使用小记 这几天刚好在调整一个项目,把一些自己不是很清楚的东西先试验一下,这篇文章主要是对我在项目中需要使用Log4Net的一些记录.网上有很多相关的教程,但是各 ...

  7. CSDN 高校俱乐部: 排列搜索

    CSDN 高校俱乐部/英雄会 题目: 设数组a包含n个元素恰好是0..n - 1的一个排列,给定b[0],b[1],b[2],b[3]问有多少个0..n-1的排列a,满足(a[a[b[0]]]*b[0 ...

  8. C程序设计语言(第二版)习题:第一章

    第一章虽然感觉不像是个习题.但是我还是认真去做,去想,仅此而已! 练习 1-1 Run the "hello, world" program on your system. Exp ...

  9. uva 305 Joseph

    点击打开链接uva 305 思路: 数学+打表 分析: 1 传统的约瑟夫问题是给定n个人和m,每次数m次把当前这个人踢出局,问最后留下的一个人的编号 2 这一题是前k个人是好人,后面k个是坏人.现在要 ...

  10. 网络地址到物理地址的映射(ARP)

    网络的互连首先要解决的问题就是网络地址到物理地址的映射,以太网接口分配的是一个48位的物理地址,而IP地址却只有32位,因此无法将它编码到IP地址中.有人建议可以构建一个中央数据库存储所有网络中的网络 ...