进制及其转换

进制类型

十进制:人类使用
二进制:计算机使用
八进制和十六进制:为了更好的表示二进制(缩短二进制长度)
在这里插入图片描述
各进制数之间的关系

在这里插入图片描述

计算机为什么使用二进制

物理上容易实现,可靠性强;
运算简单
便于进行逻辑运算。

在线进制转化的工具: https://tool.lu/hexconvert/

进制转换

二进制转十进制

二进制转十进制采用“权相加法”。
在这里插入图片描述

十进制转二进制

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

在这里插入图片描述
相当于,除尽是0,没有除尽是1

计算机数据存储单位

位 bit
最小值 0
最大值 1
表示的数的范围 0-1(21-1)
字节 byte=8bit
最小值 00000000
最大值 11111111
表示的数的范围 0-255(28-1)

字符

在这里插入图片描述
最小值 0000 0000 0000 0000
最大值 1111 1111 1111 1111
表示的数的范围0-65535(216-1)

KB、MB、GB、TB
1Byte(字节)=8bit(位)
1KB = 1024Byte ≈103Byte
1MB = 1024KB ≈ 106Byte
1GB = 1024MB ≈ 109Byte
1TB = 1024GB ≈ 1012Byte

计数范围

符号位
二进制数如何表示正数和负数呢?
使用最高位作为符号位,0代表正数,1代表负数;其余数位用作数值位,代表数值。
在这里插入图片描述

字节 byte表示的数的范围

无符号数:0-255(28-1) 256个数
有符号数:-128(-27)–127(27-1) 还是256个数

字节 byte表示的数的范围

无符号数:0-255(28-1) 256个数
有符号数:-128(-27)–127(27-1) 还是256个数

字符表示的数的范围

无符号数 0-65535(216-1) 65536个数
有符号数 -32768(-215)-----32767(215-1) 还是65536个数

字符集和字符编码

计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如’a’用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过程中,如果使用了错误的解码规则,则导致’a’解析成’b’或者乱码。

字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
字符编码

(Character Encoding):是一套法则,使用该法则能够对自然语言的字符的一个集合(如字母表或音节表),与其他东西的一个集合(如号码或电脉冲)进行配对。即在符号集合与数字系统之间建立对应关系,它是信息处理的一项基本技术。通常人们用符号集合(一般情况下就是文字)来表达信息。而以计算机为基础的信息处理系统则是利用元件(硬件)不同状态的组合来存储和处理信息的。元件不同状态的组合能代表数字系统的数字,因此字符编码就是将符号转换为计算机可以接受的数字系统的数,称为数字代码。

常见的字符集和字符编码

ASCII (阿寺克)
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,到目前为止共定义了128个字符。每个字符用1个字节表示。
在这里插入图片描述
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、DEL(删除)、BS(退格)等
32 空格
48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母
97~122号为26个小写英文字母

ISO-8859-1 ISO-8859-*
 Latin-1,是西欧常用字符,包括德法两国的字母
 1个字节 8bit,兼容ASCII码
GB2312
大陆使用最早、最广的简体中文字符集;兼容ASCII编码
每个汉字用2个字节表示 16bit 65536
GBK
GB2312的扩展,可以表示繁体中文
一个汉字用 2个字节表示
GB18030
GBK的扩展,最新的规范,不仅可以表示汉字、还可以表示维吾尔文、藏文等多个少数民族的字符
一个字符用 2个字节表示
BIG5
台湾的大五码,表示繁体汉字  2个字节

Unicode  ----UTF-8  UTF-16
统一码、万国码、单一码 通常认为一个字符占用2个字节
为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求国际通用字符集。
目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共1114112个。然而目前只用了少数平面。第0平面(BMP)最为重要。
Unicode 编码共有三种具体实现,分别为utf-8,utf-16,utf-32,其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节
ANSI:
并不是某一种特定的字符编码,而是在不同的系统中,ANSI表示不同的编码。
在简体中文Windows操作系统中,ANSI 代表 GBK 编码;在繁体中文Windows操作系统中,ANSI代表Big5;在日文Windows操作系统中,ANSI 代表 Shift_JIS 编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DNCS高级工程师

你的创作是我打赏的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值