C语言%016d什么意思

Python07

C语言%016d什么意思,第1张

"%016d"中,%表示输出格式串的标志字符,d表示要输出的是int类型的数据,共占16个字符宽度,如果被输出的数不足16位,则前面用0填充。比如

int a = 12,b = 100,c = 65535

printf("%016d",a)//结果是0000000000000012

printf("%016d",b)//结果是0000000000000100

printf("%016d",c)//结果是0000000000065535

C语言中以零开头的整数表示八进制

所以:

八进制的12表示十进制的10

八进制的10表示十进制的8

八进制的14表示十进制的12

所以:

int a = 012

此时a = 10;

int a = 013

此时a = 11;

#include <reg52.h>

#define Lcd_Data P0//定义数据端口

sbit RS = P2 ^ 0 //定义连接端口

sbit RW = P2 ^ 1

sbit E = P2 ^ 2

sbit Busy = P0 ^ 7

unsigned char code welcome[] = {"Elitist Teamwork"}

unsigned char code email[] = {"[email protected]"}

void Delay(unsigned int t)//延时子程序,延时 1MS*t S

{

unsigned char a

while(--t != 0)

{

for(a = 0a <125a++)

}

}

void Read_Busy(void)//读忙信号判断

{

do{

Lcd_Data = 0xff

RS = 0

RW = 1

E = 0

Delay(2)

E = 1

}while(Busy)

}

void Write_Comm(unsigned char lcdcomm) //写指令函数

{

Lcd_Data = lcdcomm

RS = 0

RW = 0

E = 0

Read_Busy()

E = 1

}

void Write_Data(unsigned char lcddata)//写数据函数

{

Lcd_Data = lcddata

RS = 1

RW = 0

E = 0

Read_Busy()

E = 1

}

void Init_LCD(void)//初始化LCD

{

Write_Comm(0x01)//清显示

Delay(200) //稍微延时,等待LCM进入工作状态

Write_Comm(0x02)//光标归位,此处不设置可能出现错误

Write_Comm(0x38)//8位2行5*8

Write_Comm(0x06)//文字不动,光标右移

Write_Comm(0x0e)//显示开/关,光标开闪烁关;0x0f开

}

void main(void)//主函数

{

unsigned char i

Init_LCD()//初始化 LCM

Write_Comm(0x80+16)//写入"welcome首地址(第一行)

for(i=0i<16i++)

{

Write_Data( welcome[i] )//显示welcometo字样

}

Write_Comm(0xc0+16)//写入第2行

for(i=0i<14i++)

{

Write_Data( email[i] )//显示

}

for(i=0i<16i++)

{

Write_Comm(0X18)

Delay(400)

}

while(1)//等待

}