Loading

进制


返回 我的技术栈(Technology Stack)



十进制 二进制 八进制 十六进制
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

二进制

当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的

二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。

汉字在Windows中占4字节,在Linux占3字节

术语 含义
bit(比特) 一个二进制代表一位,一个位只能表示0或1两种状态。数据传输是习惯以“位”(bit)为单位。
Byte(字节) 一个字节为8个二进制,称为8位,计算机中存储的最小单位是字节。数据存储是习惯以“字节”(Byte)为单位

十进制转化二进制的方法

用十进制数除以2,分别取余数和商数,商数为0的时候,将余数倒着数就是转化后的结果。

image

十进制的小数转换成二进制

小数部分和2相乘,取整数,不足1取0,每次相乘都是小数部分,顺序看取整后的数就是转化后的结果。

image

可以看出,一直乘下去是乘不完的,只能是无限的趋近于那个数


八进制

八进制,Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。
八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
image

十进制转化八进制的方法

用十进制数除以8,分别取余数和商数,商数为0的时候,将余数倒着数就是转化后的结果。

image


十六进制

十六进制(英文名称:Hexadecimal),同我们日常生活中的表示法不一样,它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9,A-F对应10-15

十六进制的数和二进制数可以按位对应(十六进制一位对应二进制四位),因此常应用在计算机语言中。

image

十进制转化十六进制的方法

用十进制数除以16,分别取余数和商数,商数为0的时候,将余数倒着数就是转化后的结果。

image


C语言如何表示相应进制数

十进制 以正常数字1-9开头,如123
八进制 以数字,0开头,如0123
十六进制 以,0x开头,如0x123
二进制 C语言不能直接书写二进制数
#include <stdio.h>

int main()
{
	int a = 123;		//十进制方式赋值
	int b = 0123;		//八进制方式赋值, 以数字0开头
	int c = 0xABC;	//十六进制方式赋值

	//如果在printf中输出一个十进制数那么用%d,八进制用%o,十六进制是%x
	printf("十进制:%d\n",a );
	printf("八进制:%o\n", b);	//%o,为字母o,不是数字
	printf("十六进制:%x\n", c);

	return 0;
}

参考:
[1]C基础讲义2018修订版(黑马程序员)


posted @ 2021-07-14 23:06  言非  阅读(308)  评论(0编辑  收藏  举报