栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C03

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C03

文章目录
      • 进制说明
      • 常用进制
        • 二进制
        • 三进制
        • 四进制
        • 十进制
      • 计算机中的进制
        • 1. 二进制
      • 八进制
      • 十六进制
      • 进制转换
        • 1. X进制转换为十进制
        • 2. 十进制转换为X进制
      • ASCII码的定义
        • ASCII码的表示方式
        • ASCII码的输出
        • 数字的方式输出
        • ASCII码的运算

进制说明
  1. 进制就是进位计数制的简称,是人为定义的带进位的计数方法.
  2. 对于任何的一种进制, X进制,表示每一个数位上的数运算时都是逢X进一位
  3. 例如: 10进制是缝10进一位,十六进制是逢十六进一,二进制就是逢二进一,理论上来说没有1进制,如果是1进制,逢1就进1,那么就拿1来说,就会进入到无限循环当中.
常用进制 二进制

逢2进1

三进制

逢3进1

四进制

逢4进1

十进制

逢10进1,我们日常中使用的进制

计算机中的进制 1. 二进制

C语言中,如果我们想要表示一个二进制数,可以用0b作为前缀,然后跟上0和1组成的数字.

#include 

int main(void)
{
    int a = 0b101; // 声明一个二进制数
    printf("%dn",a);
    return 0;
}

结果:

八进制

八进制的数据在C语言里面前面是有一个0来表示,然后后面跟上0-7的数字.
C语言中%d,对应的是输出10进制数

#include 
int main(void)
{
    int a = 0123; // 1 * 8^2 + 2 * 8^1 + 3 * 8^0
    printf("%dn",a);
    return 0;
}

结果:

十六进制

十六进制表示方式为:0x后者0X作为前缀,跟上0-9,a-f,A-F数字,a-f或者A-F表示10-15这六个数

#include 

int main()
{
    int a = 0x123; // a = 1 * 16^2 + 2 * 16^1 + 3 * 16^0
    printf("%dn", a);
    return 0;
}

结果:

进制转换 1. X进制转换为十进制
  1. 对于数字部分从右往左编号为0到n,第i个数字位表示为di,这个数字就是dn…d1d0
  2. 每一个数字都有一个权值
  3. 第i个数字位的权值为x^i
  4. 结果就是 sum(di*x^i)
2. 十进制转换为X进制
  1. 进制就是进制的幂次方*权重然后求和.
  2. 一个数移动有x^0这部分,也就是最右边的数.这个数可以通过除以X的余数得到.
  3. 比如最右边的x^0,部分的求法,就是用 num 除以 2,然后余数是多少,比如10来表示二进制
    10 / 2 余数是0,就表示最后一位是0,然后得到的结果是5,5 再对2取余,结果是1,放到倒数第二位,
    整除的部分是2,2再对2取余结果是0,整除的部分是1. 所以10的二进制的结果就是 1010 2^3 + 2 ^1
ASCII码的定义
  1. 它是一套编码系统
  2. 由于计算机用高电平和低电平分别表示1和0,所以再计算机中所有的数据的存储方式都是二进制数表示,例如,想a-z,A-Z这样的52个字母以及0-9的数字还有一些常用的符号等.在计算集中存储的时候也要使用二进制数来表示,具体用哪些二进制数字表示哪个字符,每个人都可以约定自己的一套规则,这就叫编码
  3. 即 一个数字 和 一个字符的 一一映射
  4. 为了通信而不造成混淆,所以需要所有人都使用相同的规则
ASCII码的表示方式
  1. ASCII码使用指定的7位或者8位二进制数组合来表示128或者256种可能的字符
  2. 标准的ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9,标点符号,以及在英文中使用的特殊控制字符
  3. 简单的来说就是一个数字对应一个字符
编码范围表示
[0,31], 1270~31和127(共33个)是控制字符或者通信专用字符,常见的控制符: LF(换行),CR(回车),DEL(删除),BS(退格)等等,通信专用字符:SOH(文头),ACK(确认)等等
[48,57]]数字0到9
[65,90]大写字母A到Z
[97,122]小写字母a到z
其他空格,!,",#,+,-,%等标点符号或者运算符
ASCII码的输出

ASCII码对应的字符用单引号括起来,并且是可以按照两种方式来输出的,分别为: 字符形式和整数形式

字符

#include 

int main()
{
    printf("%cn", '0');
    printf("%cn", 'A');
    printf("%cn", 'a');
    printf("%cn", '$');
    return 0;
}

结果:

数字的方式输出
#include 

int main()
{
    printf("%dn",'A');
    printf("%dn",'0');
    printf("%dn",'a');
    printf("%dn",'%');
    return 0;
}

结果:

ASCII码的运算
  1. ASCII码可以当成整数和数字进行运算
  2. ASCII码可以进行比较,但是比较是按照ASCII码的整数值的大小来进行比较的.
#include 

int main()
{
    char a = 'a';
    char b = 'A';
    char c;
    c = a + 1;
    printf("%d,%dn",a,b);
    printf("%dn",a > b); // 所以C语言中ASCII码对比的是ASCII码的整数值,所以'a' > 'A'
    printf("%cn",c);
    return 0;
}

结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号