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

文章介绍了C++中不同进制间的转换方法,包括十进制转二进制、八进制、十六进制,以及二进制转十进制的算法。同时强调了学习C++在当前就业市场中的优势,指出在硬件算法部署和公司产品实践中,C++因其速度而被广泛使用。此外,文章还提到了C++的数据类型和编程基础。
摘要由CSDN通过智能技术生成

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,字符类型,字符串类型,实数类型,浮点型,科学计数法


进制

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进制数

在这里插入图片描述
56=163+81+40+20+1*0
也就是00111000

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

所以呢就是38H

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

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

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

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

在这里插入图片描述
在这里插入图片描述
你用计算器验证一波就知道了
在这里插入图片描述在这里插入图片描述

2进制转10进制

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

这很简单

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

懂了吧?easy

小数点后的二进制是乘2取整
在这里插入图片描述

3位二进制数就是8进制

也是421这种权重
对应权,就是二进制
比如7,实际就是111
对应4+2+1
在这里插入图片描述
二进制转8进制,就是3位一组,转为8进制数即可
从尾部3个一组哦
前面不够补0
懂?
在这里插入图片描述

在这里插入图片描述

4位二进制数就是16进制

16进制0–15
0–9ABCDEF表示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
16进制转10进制
在这里插入图片描述
16进制转2进制
用4位二进制表示一个16进制凑即可
8421码算一个16进制数

在这里插入图片描述
2进制转16进制,很简单,4位组合即可
在这里插入图片描述
使用频率最高的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);
}

在这里插入图片描述
懂了吧

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

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

%c字符
%f浮点型
%lf双精度
%d十进制
%hd短整型short
%ld long
%lld longlong
%u无符号整型
%hu
%lu
%llu
在这里插入图片描述
%s表示字符串
用的也很多
基本就这些咯


总结

提示:重要经验:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值