c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%

c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,
c/c++系列文章:
【1】c++:c语言优缺点,visual studio2019如何新建项目,写hello world程序
【2】c/c++:gcc安装,gcc编译hello world文件,system函数调用系统命令,sleep函数
【3】linux下gcc的编译过程和功能,预处理,编译,汇编,链接,.c预处理为.i文件.s文件.o文件.exe文件
【4】c/c++:windows平台下依赖的动态库,c底层是汇编语言,程序断点调试,反汇编,vs快捷键
【5】c/c++:数据类型,常量变量,标识符,有符号整型,无符号unsigned,字符类型,字符串类型,实数类型,浮点型,科学计数法


文章目录

  • c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%
    • @[TOC](文章目录)
  • 进制
  • 十进制转二进制数:除2取余法
  • 2进制转10进制
  • 3位二进制数就是8进制
  • 4位二进制数就是16进制
  • 总结

进制

d进制数

d进制【d=10】
1=1×10的0次方
10=0×10的0次方+1×10的1次方
100=0×10的0次方+0×10的1次方+1×10的2次方
1000=0×10的0次方+0×10的1次方+0×10的2次方+1×10的3次方

数的值=各个位上的权*d的几次方【位次】

比如:
11
1×10的0次方+1×10的1次方=11
111
1×10的0次方+1×10的1次方+1×10的2次方=111

同理d=2时,2进制,计算机用

d进制【d=2】
1=1×2的0次方
10=0×2的0次方+1×2的1次方
100=0×2的0次方+0×2的1次方+1×2的2次方
1000=0×2的0次方+0×2的1次方+0×2的2次方+1×2的3次方

数的值=各个位上的权*d的几次方【位次】

8421
1000=8
1001=9
1010=10

懂?
00=0
01=1
10=2
11=3
100=4
101=5
101=5
110=6
111=7
1000=8

人类有10根手指头,所以用10进制数

那10进制数如何写入计算机?
4字节高位–低位分别用16进制写
本质上2进制数

c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第1张图片
56=163+81+40+20+1*0
也就是00111000

4位二进制表示1个16进制数

所以呢就是38H

如果是4个字节
那就是32位表示一个数
0038H

高位放高地址
低位放低地址

十进制转二进制数:除2取余法

好说
除2取余法,最后反向列出来
当商为0时,停止

c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第2张图片
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第3张图片
你用计算器验证一波就知道了
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第4张图片c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第5张图片

2进制转10进制

d进制数,上面说过了
数的值=各个位上的权*d的几次方【位次】

这很简单

1024 512 256 128 64 32 16 8 4 2 1
10101101
分别用各个权对应相乘相加
就得了10进制数了

懂了吧?easy

小数点后的二进制是乘2取整
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第6张图片

3位二进制数就是8进制

也是421这种权重
对应权,就是二进制
比如7,实际就是111
对应4+2+1
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第7张图片
二进制转8进制,就是3位一组,转为8进制数即可
从尾部3个一组哦
前面不够补0
懂?
在这里插入图片描述

在这里插入图片描述

4位二进制数就是16进制

16进制0–15
0–9ABCDEF表示
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第8张图片
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第9张图片
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第10张图片
16进制转10进制
在这里插入图片描述
16进制转2进制
用4位二进制表示一个16进制凑即可
8421码算一个16进制数

c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第11张图片
2进制转16进制,很简单,4位组合即可
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第12张图片
使用频率最高的10进制
还有就是16进制,范围大一些
2进制太繁杂了

打印格式:
%d十进制
%o八进制
%x十六进制
没有二进制的匹配格式哦


void f10(void)
{
	int m = 0x15F4;//16进制可以赋值
	int n = 10;//10进制可以赋值
	int p = 010110;//2进制不可以赋值

	printf("十六进制m=%x\n", m);
	printf("十进制m=%d\n", m);
	printf("八进制m=%o\n", m);
	printf("二进制m=%b\n", m);
}

c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第13张图片
懂了吧

0x1F这种,最多
大小写都可以哦

个上匹配的格式很多了已经。

%c字符
%f浮点型
%lf双精度
%d十进制
%hd短整型short
%ld long
%lld longlong
%u无符号整型
%hu
%lu
%llu
c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%_第14张图片
%s表示字符串
用的也很多
基本就这些咯


总结

提示:重要经验:

1)
2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

你可能感兴趣的:(c++,c语言,c++,进制和转换,格式匹配符,8421码)