C语言学习day05:进制

2023-12-13 16:43:46

????????今天主要学习了C语言中的进制概念。首先,我了解了二进制、八进制和十六进制在计算机中的应用。然后,学习了如何在C语言中表示和操作不同进制的数值,以及如何进行进制之间的转换。

十进制转二进制:

特意画图来方便理解,有时文字并不如画图解释来的强

十进制转二进制又名:除二反序取余法

二进制转十进制:

二进制转十进制的方法又叫权值法

? ? ? ? ? ? ?

十进制转八进制:

又叫:除八取余反序法

? ? ? ? ? ? ? ? ? ?? ?

八进制转十进制:

十进制转十六进制:

十六进制转十进制:

以下是十进制、二进制、八进制、十六进制的关系表:

?

十进制二进制八进制十六进制
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010

转二进制中,有一个方便的方法叫做8421法则

????????在8421法则中,每个十进制数位用4位二进制数表示,其中每个二进制位的权值分别为8、4、2、1。这四个权值分别对应于二进制数的最高位、次高位、次低位和最低位。它们的和等于十进制数位的值。
具体来说,8421法则的规则如下:
最高位的权值为8,次高位的权值为4,次低位的权值为2,最低位的权值为1。
每个十进制数位的取值范围是0-9。
对于一个十进制数,将每个十进制数位转换为4位二进制数,其中每个二进制位的值为1或0。
每个二进制位的权值与对应的二进制位的值相乘,然后将它们的和相加,得到对应的十进制数位的值。

? ? ? ? 举个例子:十进制52转成二进制为多少?

? ? ? ??

所以52的二进制为110100;

二进制的理解:

????????二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”,借位规则是"借一当二".

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

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

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);
    printf("十六进制数:%x\n",c);

    return 0;
}

文章来源:https://blog.csdn.net/q13407441836/article/details/134903438
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。