1. printf 占位与对齐 (左/右对齐、居中显示)
在 C 语言中的 printf 函数中对齐列 | D栈 - Delft Stack
-
占位
即 printf("%d") 中的参数 d 前的数字来调整宽度
-
左对齐
方式 1:printf 默认左对齐
printf("%d\n",19940525);
方式 2 :在数字宽度前面添加 -
假设'space'代表空格
printf("%-10d\n",19940525);
输出情况:19940525spacespace
- 解释 :当前数字宽度为 10,如果要打印的位数小于10 ,则在打印完数字后补充空格;否则 ,将会打印所有的数字
- 当前打印的数字位数为 8 ,在右边打印两个空格
-
右对齐
方法1:在%和d之间加上数字宽度即可实现右对齐。
假设'space'代表空格
printf("%10d",19940525); // 如果要打印的位数小于10,则需要补足空格
输出情况:spacespace19940525
- 解释 :
- 当前数字宽度为10 ,如果要打印的位数小于10 ,那么左边补充空格;
- 当前打印的数字位数为 8 ,在左边打印两个空格
方法2:
*
表示宽度 是由一个额外的参数来指定假设'space'代表空格
printf("%*.2f\n", 8, 622.1329); //表示宽度为8
输出结果为:spacespace662.13
- 解释 :
- 当前数字宽度为8,如果要打印的位数小于8 ,那么左边补充空格;
即%8.2f
表示整个浮点数(包括小数点和两位小数)将被放在一个宽度为8的字段中。四舍五入后得到622.14,它的长度是6。即需要在左边补充2个空格,
2. 头文件路径 #include
相对路径:首先在windows环境下:
“ .\ ”表示当前目录
“ ..\ ”表示当前目录的上1级目录
“ ..\ ..\ ”表示当前目录的上2级目录
可用于包含头文件路径,例如:#include "..\..\Drivers\BSP\ST7789\Inc\lcd_spi_169.h"
3.
1字节(byte)=8位(bit)
在16位系统中,1字(word)=2字节(byte)=16位(bit)
在32位系统中,1字(word)=4字节(byte)=32位(bit)
在64位系统中,1字(word)=8字节(byte)=64位(bit)
字 word
字节 byte
位 bit,来自英文bit,音译为“比特”,表示二进制位。
字长是指字的长度
1字=2字节(1 word = 2 byte)
1字节=8位(1 byte = 8bit)
一个字的字长为16
一个字节的字长是8
bps 是 bits per second 的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps 等等。
Bps即是Byte per second 的简称。而电脑一般都以Bps 显示速度,如1Mbps 大约等同 128 KBps。
bit 电脑记忆体中最小的单位,在二进位电脑系统中,每一bit 可以代表0 或 1 的数位讯号。
Byte一个Byte由8 bits 所组成,可代表一个字元(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),是记忆体储存资料的基本单位,至於每个中文字则须要两Bytes。当记忆体容量过大时,位元组这个单位就不够用,因此就有千位元组的单位KB出现,以下乃个记忆体计算单位之间的相关性:
1 Byte = 8 Bits
1 KB = 1024 Bytes
1 MB = 1024 KB
1 GB = 1024 MB
usb2.0标准接口传输速率。许多人都将“480mbps”误解为480兆/秒。其实,这是错误的,事实上“480mbps”应为“480兆比特/秒”或“480兆位/秒”,它等于“60兆字节/秒”,大家看到差距了吧。
这要从bit和byte说起:bit和byte同译为"比特",都是数据量度单位,bit=“比特”或“位”。
byte=字节即1byte=8bits,两者换算是1:8的关系。
mbps=mega bits per second(兆位/秒)是速率单位,所以正确的说法应该是说usb2.0的传输速度是480兆位/秒,即480mbps。
mb=mega bytes(兆比、兆字节)是量单位,1mb/s(兆字节/秒)=8mbps(兆位/秒)。
我们所说的硬盘容量是40gb、80gb、100gb,这里的b指是的byte也就是“字节”。
1 kb = 1024 bytes =2^10 bytes
1 mb = 1024 kb = 2^20 bytes
1 gb = 1024 mb = 2^30 bytes
比如以前所谓的56kb的modem换算过来56kbps除以8也就是7kbyte,所以真正从网上下载文件存在硬盘上的速度也就是每秒7kbyte。
也就是说与传输速度有关的b一般指的是bit。
与容量有关的b一般指的是byte。
最后再说一点: usb2.0 480mbps=60mb/s的传输速率还只是理论值,它还要受到系统环境的制约(cpu、硬盘和内存等),其实际读、取写入硬盘的速度约在11~16mb/s。但这也比usb1.1的12mbps(1.5m/s)快了近10倍。
扩展阅读
字节的来由
最开始计算机只是处理数据运算,也就是0-9,加上运算符号,4bit足够了。举个例子(实际不是这样):用0000表示0,0001表示1,0010表示2,依次类推。
后来加入了字母,程序符号等,8bit也足够了,而这时诞生了ASCII编码的标准,大家就说把8bit表示出来的值叫做字节(byte)吧,于是就有了字节这个单位。
所以1byte等于8bit是计算机发展中的一个约定出来的规则。
汉字:
1 汉字 = 2 byte = 16 bit (这里不是很准确,当编码不同的时候,1个汉字所占的字节数也会有所不同,有些编码是占 2个字节,有些则不是,可能是 3个或者 4个)