zxqk.net
当前位置:首页 >> 51单片机C语言计算两个unsignED int型数据的乘积结... >>

51单片机C语言计算两个unsignED int型数据的乘积结...

typedef unsigned long u32; typedef unsigned int u16; typedef unsigned char u8; u32 s; u16 a,b; a = 0x7fc; b = a; s = a*b; 这样做即可,以后在单片机中这样定义简化代码,易于读懂。 可追问,数据溢出是一个比较麻烦的事情,有的时候需要...

void delay(unsigned int x) //延时 x ms { unsigned int i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } 延时1ms 即为使x=1; 这程序延时约1ms(x=1时用keil测出来约 0.96831272ms,近似1ms),用C语言很难做到准确的1ms。注意晶振为11.0592MHZ...

1、可以转换,强制转换就行。例如: int a=100; unsigned char * c = (unsigned char *)a; 2、强制类型转换 当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。强制类型转换具有两种形式,称为...

2的16进制是0x02;,2进制是0000 0010,也就是说给a的值为0x02 unsigned char型16进制是0x00~0xff,2进制是0000 0000~1111 1111 unsigned int型16进制是0x0000~0xffff,2进制是0000 0000 0000 0000~1111 1111 1111 1111 unsigned long型16进制是0x0...

可以高8位低8位分开放 例如写EEPROM函数是void write_eeprom(unsigned int add,unsigned char dat) a是要写入的数据 调用时 write_eeprom(2000,a) 写低8 位 write_eeprom(2001,a>>8) 写高8 位 读出时分两次读出再合成一个数 a= EEPROM_read(2001...

用C写程序,和单片机本身是几位单片机没有任何关系的。你定义了一个int 数据,内存就分配给它两个字节。所以int数据都是16位的。unsigned int 数据是无符号整形,最高位不表示符号,所以从0000,0000,0000,0000B------1111,1111,1111,1111B.即从0...

定义一个延时xms毫秒的延时函数 void delay(unsigned int xms) // xms代表需要延时的毫秒数 { unsigned int x,y; for(x=xms;x》0;x--) for(y=110;y》0;y--); } 使用: void Delay10us(uchar Ms) { uchar data i; for(;Ms》0;Ms--) fo...

对于该款单片机,int类型的变量占据2个字节,char类型的占据1个字节。不过一般大家为了节约空间,大部分会使用char类型,同时89C51是一款8位的单片机,所以推荐使用char类型的变量进行运算,即使我们在代码中写入int类型的变量进行运算,也是编译...

unsigned long int Recode; unsigned char WRflash[3]; void main() { Recode=0x01020304; WRflash[0]=((unsigned char *)&Recode)[3]; WRflash[1]=((unsigned char *)&Recode)[2]; WRflash[2]=((unsigned char *)&Recode)[1]; WRflash[3]=((uns...

使用编译器带的库,一般都有sprintf这个函数,sprintf(str, "%d", i); code会增加的有些多

网站首页 | 网站地图
All rights reserved Powered by www.zxqk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com