unsigned

格式说明符

只谈情不闲聊 提交于 2020-03-05 15:21:59
格式转换说明符printf() / scanf()                   表一 printf()的转换说明符 转换说明 输 出 %a 浮点数、十六进制数字和p-记数法 (C99) %A 浮点数、十六进制数字和P-记数法 (C99) %c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法 %E 浮点数、E-记数法 %f 浮点数,十进制记数法 %g 根据数值不同自动选择%f或者%e。%e格式在指数小于-4或者大于等于精度时使用 %G 根据数值不同自动选择%f或者%E。%E格式在指数小于-4或者大于等于精度时使用 %i 有符号十进制整数 (与%d相同) %o 无符号八进制整数 %p 指针(就是指地址) %s 字符串 %u 无符号十进制整数 %x 使用十六进制数字0f 的无符号十六进制整数 %X 使用十六进制数字0F的无符号十六进制整数 %% 打印一个百分号                   表二 printf() 修饰符 修饰符 意 义 标志 五种标志 (-、+、空格、# 和0) 都将在表三中描述,可以使用零个或多个标志 digit(s) 字段宽度的最小值。如果该字段不能容纳要打印的数或者字符串,系统会使用更宽的字段。示例:“%4d” .digit(s) 精度。对于%e、%E和%f转换,是将要在小数点的右边打印的数字的位数。对于%g和%G转换

mysql----数据类型

巧了我就是萌 提交于 2020-03-05 14:07:09
一、数值 1.1 二进制 bit[(M)] 二进制位(101001),m表示二进制位的长度(1-64),默认m=1 1.2 整数 1.2.1 tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 ~ 127 . 无符号: 0~ 255 特别的: MySQL中无布尔值,使用tinyint(1 )构造。 1.2.2 int [(m)][unsigned][zerofill] 整数,数据类型用于保存一些范围的整数数值范围: 有符号: -2147483648 ~ 2147483647 无符号: 0~ 4294967295 特别的:整数类型中的m仅用于显示,对存储范围无限制。 例如: int(5),当插入数据2时,select 时数据显示为: 00002 1.2.3 bigint[(m)][unsigned][zerofill] 大整数,数据类型用于保存一些范围的整数数值范围: 有符号: -9223372036854775808 ~ 9223372036854775807 无符号: 0~ 18446744073709551615 1.3 小数 1.3.1 decimal[(m[,d])] [unsigned] [zerofill] 准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65

day03-数据类型

限于喜欢 提交于 2020-03-05 14:05:19
数据类型 一、介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 mysql常用数据类型概括: #1. 数字:   整型:tinyint、int、bigint   小数:     float :位数比较短的情况下不精准(单精度)     double :位数较长的情况下不精准(双精度,比float精准)       0.000001230123123123       存成:0.000001230000     decimal:(如果用小数,则用推荐使用decimal)       精准,内部原理是以字符串形式去存 #2. 字符串:   char(10):简单粗暴,浪费空间,存取速度快     root存成root000000   varchar:精准,节省空间,存取速度慢   sql优化:创建表时,定长的类型往前放,变长的往后放     比如性别 比如地址或描述信息   >255个字符,超了就把文件路径存放到数据库中。     比如图片,视频等找一个文件服务器,数据库中只存路径或url。 二、数值类型 整数类型:tinyint、smallint、mediumint、int、bigint 作用:存储年龄,等级,id,各种号码等 tinyint[(m)] [unsigned] [zerofill] 小整数

使用Proteus模拟操作HDG12864F-1液晶屏

六眼飞鱼酱① 提交于 2020-03-05 12:02:45
  在Proteus中模拟了89C52操作HDG12864F-1液晶屏,原理图如下: 一、HDG12864F-1官网信息   该液晶屏是Hantronix的产品,官网上搜索出这个型号是系列型号中的一种,各种型号间的区别主要是尺寸不同、有无背光、背光颜色等等。   下面是官网中几个手册的链接: DataSheet 完整版说明书 控制器说明书 ,该液晶屏的控制器使用的是爱普生SED1565系列 使用注意事项 官网照片 二、基本操作函数   根据几个手册提供的信息,“写命令”和“写数据”函数如下: 1 sbit cs = P1^7;//-cs,片选,低电平有效 2 sbit rst = P1^6;//-rst,复位,低电平有效 3 sbit a0 = P1^5;//写命令、写数据控制位。1=Display data; 0=Control data; 4 sbit wr = P1^4;//-Write serial data,写串口数据,低电平有效 5 sbit rd = P1^3;//-Read serial data,读串口数据,低电平有效 6 sbit scl = P1^2;//Shift clock input,时钟输入 7 sbit si = P1^1;//Serial data input,串口数据输入 8 //手册中说了,各种操作都是ns级,不用各种等待命令

创建线程函数,设置静态线程函数

最后都变了- 提交于 2020-03-05 08:24:41
创建线程函数 uintptr_t _beginthreadex( void *security, //线程的安全属性 unsigned stack_size,//线程大小 unsigned ( __stdcall *start_address )( void * ),//线程函数 void *arglist,//线程参数 unsigned initflag,//标识,设置为0,标识立即运行 unsigned *thrdaddr //线程id ); 创建成功,返回一个句柄 如 HANDLE h = (HANDLE)_beginthreadex(0,0,&ThreadAccept,0,0,0); 线程函数ThreadAccept一般设置为全局函数。因为在 unsigned ( __stdcall *start_address )( void * )内是一个普通的函数指针。 但是由于全局函数不方便管理,所以将线程函数作为一个类成员。但是作为类成员后,普通的函数指针无法访问。那我们可以将线程函数设置为静态类成员,即 static unsigned __stdcall ThreadAccept ( void * ); 相当于全局函数,这样在哪个地方都可以访问使用了。 来源: CSDN 作者: weixin_44084204 链接: https://blog.csdn.net/weixin

期中考试

陌路散爱 提交于 2020-03-05 03:26:10
1.首先根据要求把电路图加上2个按钮,如图下图所示 2.根据要求写出代码,下面是参考代码 #include<reg52.h> #define LED P0 unsigned int i = 0; unsigned int j =0; sbit KEY1 = P1^0; //暂停,开始按钮 sbit KEY2 = P1^2; //复位按键 unsigned char NUM[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,\ 0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E}; void INT_T0(void) { TMOD = 0X01; //打开定时器0 ,使用模式1定时 TH0 = 0XFC; TL0 = 0X18; //初始值 EA = 1; //打开总开关 ET0 = 1; //打开中断T0开关 } void main(void) { INT_T0(); TR0 = 0; //定时功能关闭 LED = NUM[0]; while(1) { if(KEY1 == 0) { TR0= 1 ; //判断按键按下 ,则打开定时计时功能 } else { TR0=0; //判断按键松开,则断开计时功能 } if(KEY2 == 0) { break; //跳出循环,计时归零 } } } void time0

秒表计时器

核能气质少年 提交于 2020-03-05 03:25:04
秒表计时器 制作一个秒表计时器,记录0-15秒时间。要求精准,可控。 1.能够用按键控制秒表开始 2.能够用按键控制秒表停止 3.能够用按键控制秒表清零 4.使用定时器控制时间,要求精确。 5.使用1个数码管和多个按键实现功能。 先根据需求判断所需的功能,再改变电路图 然后根据要求开始写代码 1 #include<reg52.h> 2 sbit an = P1^0; 3 sbit qing = P1^1; 4 unsigned int i = 0; 5 unsigned int s = 0; 6 code unsigned char LED_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8E}; 7 void INT_T0(void) 8 { 9 TMOD = 0X01; //打开定时器0 ,使用模式1定时 10 TH0 = 0XFC; 11 TL0 = 0X18; //初始值 12 EA = 1;//打开总开关 13 ET0 = 1;//打开中断T0开关 14 } 15 void main(void) 16 { 17 INT_T0(); 18 TR0 = 0; //定时功能关闭 19 while(1) 20 { 21 if(an == 0) 22 TR0

秒表计时器

岁酱吖の 提交于 2020-03-05 03:24:06
秒表计时器 制作一个秒表计时器,记录0-15秒时间。要求精准,可控。 1.能够用按键控制秒表开始 2.能够用按键控制秒表停止 3.能够用按键控制秒表清零 4.使用定时器控制时间,要求精确。 5.使用1个数码管和多个按键实现功能。 代码如下: #include<reg52.h> #define LED P0 sbit KEY1 = P1^0; sbit KEY2 = P1^1; unsigned int i = 0; unsigned char LED_NUM[] = {0xc0,0xf9,0xa4,0xb0,\ 0x99,0x92,0x82,0xf8,\ 0x80,0x90,0x88,0x83,\ 0xc6,0xa1,0x86,0x8e}; unsigned char n = 0; void INT_T0(void) { TMOD = 0X01; //打开定时器0 ,使用模式1定时 TH0 = 0XFC; TL0 = 0X18; //初始值 EA = 1;//打开总开关 ET0 = 1;//打开中断T0开关 } void main(void) { INT_T0(); TR0 = 0; //定时功能打开 while(1) { if(KEY1==0) { TR0 = 1; } if(KEY2==1) { i = 0; n = 0; } } } void time0(void)

Linux Rootkit Learning

萝らか妹 提交于 2020-03-04 09:51:56
目录 1. 学习Rootkit需要了解的基础知识 2. 挂钩(HOOKING) 3. 直接内核对象操作 4. LSM框架(Linux Security Module)于LKM安全 5. rootkit检测技术及工具 1. 学习Rootkit需要了解的基础知识 0x1: 什么是rootkit rootkit是允许某人控制操作系统的特定方面而不暴露他或她的踪迹的一组代码。从根本上说来,用户无法察觉这种特性构成了rootkit。rootkit会想尽办法去隐藏自己的网络、进程、I/O等信息(注意,这里所谓的隐藏,只是针对ring3的ui隐藏,内核层的功能不能隐藏,否则rootkit自己也无法使用功能了),所以,rootkit的攻防问题很大程度上是一个ring0争夺战的问题,监控程序必须直接深入到系统的底层去获取最原始的数据,才能避免因为rootkit的ring3隐藏导致的误判 0x2: 可装载内核模块(LKM) Linux就是通常所说的单内核(monolithic kernel),它与微型内核(windows系统中常见)不同 1. Linux中的单内核 操作系统的大部分功能都被称为内核,并在特权模式下运行。同时,linux也提供动态扩充系统功能的机制(可以将新的功能加载到内核、从内核去除某个功能),通过Linux内核模块(LKM)可以在运行时动态地更改Linux的内核

How to convert string to unsigned long in C++? [duplicate]

。_饼干妹妹 提交于 2020-03-03 13:06:34
问题 This question already has answers here : C++ convert hex string to signed integer (8 answers) Closed 6 years ago . I need help in programming. The program has to accept a string that will eventually be turned to unsigned long. But here's the catch, there must be an error catcher that when you enter combination of hex and symbols like a!!!!!! will produce an error and the unsigned long variable must be able to accept and store the input greater that 4294967295 which is FFFFFFFF . I've tried