- CodeBlocks 的安装以及编译器的配置
zoukangdlut
截止到我安装的尽头今天,Code::Blocks的最新版本为16.01,建议官网下载,下载地址http://www.codeblocks.org/downloads下载下来之后是一个可执行文件然后点击安装就可以了,安装完成之后显示的界面如下注意:安装过程中会让你选择编译器,我因为没有下载任何编译器,所以没有检测到,导致后面的错误产生,如果在选择编译器时不是显示的nocompiler,后面的内容请跳
- 【Qt+MSVC2017_64bit +Cmake新建项目编译出错】
Winner1300
Qt开发qt数据库服务器
项目场景:提示:这里简述项目相关背景:项目新电脑环境配置Qt+MSVC2017_64bit+Cmake新建项目编译出错问题描述提示:这里描述项目中遇到的问题:Qt+MSVC2017_64bit+Cmake新建项目编译出错RunningC:\ProgramFiles\CMake\bin\cmake.exeC:/Users/gh3/Documents/untitled"-GCodeBlocks-NMa
- 在windows系统搭建LVGL模拟器(codeblock工程)
懂IT的嵌入式工程师
LVGLLVGL文件系统lv_fs
1.codeblock准备下载codeblock(mingw),安装。可参考网上教程。2.pc_simulator_win_codeblocks工程获取仓库地址:lvgl/lv_port_win_codeblocks:WindowsPCsimulatorprojectforLVGLembeddedGUILibrary(github.com)拉取代码到本地硬盘,如下操作步骤:#打开git终端输入下面
- C语言,C++编程软件比较(推荐的编程软件)
復禮
C语言学习和题目解析c语言c++开发语言
和黛玉学c呀>>>首选vs2022因为vs2022是集成的开发环境,不需要配置环境,社区版免费哒vs2019,vs2011等小熊猫C++占用内存小,个人认为比devc++好得多VScode需要配置环境,不适用初学者CodeBlocks也需要配置环境,不主流,不适合初学者,老手比较好上手DevC++老版本,一些学校仍在用,但是写的代码不美观,不容易好的风格养成VC6.0编译器古老,是98年的了,兼容
- MySQL正则表达式常规使用
狼行苍穹
MySql正则表达式mysqlsql
一级标题#MySQL正则表达式常规使用使用REGEXP关键字//AcodeblockSELECTproduct_skuFromt_productWhereproduct_skuREGEXP'.000'//AnhighlightedblockLIKE和REGEXP区别LIKE会匹配这个列,而REGEXP会在列值内进行匹配在MySQL中正则表达式不区分大小写,要区分需使用BINARY关键字,如Wher
- codeblocks中如何创建项目 (保姆级教程)
慕容长风
c语言
1、第一步,左上角file2、第二步,点击new,打开projiect3、第三步,点击箭头所指的图标4、点击next5、选择自己需要的语言,并点击next6、在标记一的位置输入项目名称,在二的箭头所指位置可以选择项目保存路径,并点击next7、点击finish8、项目创建完成
- codeblocks创建头文件
慕容长风
c语言
1、第一步,左上角file2、第二步,点击new,打开file3、选择箭头所指的图标4、点击next5、点击1标记的图标,将头文件保存在项目文件下面,,勾选2,最后点击next6、最后,项目创建项目成功如何创建项目可以参考我的另一篇文章,我是慕容长风,计算机小白一枚,还希望各位大佬多多指教。
- NR DLSCH参数选择规则
王炜_0373
根据38.212,DLSCH所涉及参数如下CRC-CRCpolynomialselection('16'or'24A')L-NumberofCRCbits(16or24)BGN-LDPCbasegraphselection(1or2)C-NumberofcodeblocksLcb-Numberofparitybitspercodeblock(0or24)F-Numberoffillerbitspe
- 一个简单木马的实现
星星之火666
参考链接:一个简单木马程序的实现该链接代码,使用codeblocks软件编译后(win10x86),出现错误:undefinedreferenceto'WSAStartup@8'解决办法:具体操作如下:Settings->Compilersettings->Globalcompilersettings->Linkersettings,点击Add按钮输入C:\ProgramFiles(x86)\Co
- centos安装CODEBLOCKS
v2x222
centoslibrarygtkpath编译器跨平台
CentOS6安装CodeBlocks2012-02-1220:01codeblock是一个还算不错的IDE,免费、开源、跨平台等一些列优点!下面是我在CentOS6上安装Codelocks的过程,希望对后来人有所帮助!1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yuminstallgccyuminstallgcc-c++2.安装gtk2-d
- 解决QtCreator中无法使用cmake
FeboReigns
qtqt
报错如下:RunningE:\cmake\bin\cmake.exeE:/workspace/untitled"-GCodeBlocks-NMakeMakefilesJOM""-DCMAKE_BUILD_TYPE:STRING=Debug""-DCMAKE_CXX_COMPILER:STRING=E:/VS/MicrosoftVisualStudio/2019/Community/VC/Tools
- 下载代码:: Blocks Free C / C ++ IDE
culing2941
linuxpythonjava人工智能大数据
Hereyowwillknowhowtodownloadcodeblocksideforfree.在这里,您将了解如何免费下载ide的代码块。Code::Blocksisafree,open-source,cross-platformC/C++IDEbuilttomeetthemostdemandingneedsofitsusers.Itisdesignedtobeveryextensiblean
- Code::Blocks - The free C/C++ and Fortran IDE
Yongqiang Cheng
Code::BlocksCodeBlocksC/C++IDEFortranIDE
Code::Blocks-ThefreeC/C++andFortranIDE1.InstallationReferenceshttps://www.codeblocks.org/Code::BlocksisafreeC/C++andFortranIDEbuilttomeetthemostdemandingneedsofitsusers.Itisdesignedtobeveryextensiblea
- CodeBlocks左侧栏没有出现Sources?(原因及解决方法)
我们会夺回属于zwu的一切
Codeblockc++
原因:当前页面选择的是资源文件页,我们应该选择的是项目文件页解决方法如下:首先这个红色圈圈圈起来的地方一直点到底点击这个项目按钮单击一下这个小按钮双击main.cpp就ok啦!希望大家能给个关注哟~~
- CodeBlocks中出现undefined reference问题如何解决?
我们会夺回属于zwu的一切
Codeblockandroidc++
项目场景:此项目是通过多文件组合的形式来实现一个项目,目的是学会如何引入自定义头文件,以及如何在一个项目中实现多文件的组合。如下图为main函数,程序在此运行此处为a函数的原型说明,放在a.h中,等下作为头文件引入此处为a函数的具体实现,放在a.cpp中,功能是求一个数的sin值b,c的原型说明在此不再列出,因为讨论的是undefinedreference问题问题描述在主函数进行编译时,出现了un
- C语言程序设计实践-函数与指针综合编程实验
早日提码跑路!
c语言开发语言
实验目的及要求:1掌握指针做为函数参数与变量作为函数参数的区别;2掌握指针作为函数参数与数组做为函数参数的关系;2能正确使用指针作为函数参数进行程序设计;3掌握函数返回值类型为指针类型的含义;4能正确使用函数返回值类型为指针类型进行程序设计。软硬件环境:1、硬件环境:PC机一台2、软件环境:Codeblocks算法或原理分析(实验内容):1.写一函数,将一个字符串逆置。●编程要求:(1)要求使用指
- 网络报文分析程序的设计与实现(2024)
-芒果酱-
CC++语言网络智能路由器c++
1.题目描述在上一题的基础上,参照教材中各层报文的头部结构,结合使用wireshark软件(下载地址https://www.wireshark.org/download.html#releases)观察网络各层报文捕获,解析和分析的过程(如下图所示),尝试编写一个网络报文的解析程序。2.演示Demo设备选择3.导入WinPcap三方库到项目(博主用的是Clion,若是VC,CodeBlocks,D
- Code::Blocks 安装及使用
挖洞的杰瑞
C语言编辑器ideac语言c++
一、下载及安装1、64位系统通过网站下载。在浏览器地址栏中输入地址:https://sourceforge.net/projects/codeblocks然后点击“Download”下载。2、32位系统通过百度网盘下载。链接:https://pan.baidu.com/s/1b6YGhST1h7lMI0J0G5tg2g?pwd=037y提取码:037y3、双击下载好的codeblocks安装程序。
- STL-标准的i/o文件和i/o流
en...小瓶子
STL实验报告算法
实验目的:练习标准的输入输出流和文件输入输出流。实验器材:Codeblocks实验内容:一、练习课本第4章的例4.1-4.10。最好先把例子看懂,然后自己在不看书的情况下写出代码,然后进行调试和比对。二、在例4.3中,回顾课堂上所讲get和getline函数的异同,并通过写代码并运行加深体会。三、在例4.6和4.7中,试验并理解使用文件I/O流时不同的文件打开方式。实验步骤:测试一:#includ
- C++刻晴炸弹人小游戏(开发环境为codeblocks)
软件开发技术局
个人学习c语言
项目视频链接:C++刻晴炸弹人_哔哩哔哩_bilibili文件目录:资源链接:C++刻晴炸弹人(改良版)-小程序文档类资源-CSDN文库介绍:需要炸掉所有帐篷才能炸掉敌人,获取胜利封面:在codeblocks中运行,需要自己添加easyx库,播放音乐需要自行链接libwinmm.a文件,自行查找其它博客。
- vscode配置C/C++环境(Windows)
Jocker_1
vscodec++c语言
1.总体流程2.下载CodeBlocks下载该CodeBlocks的主要目的是为了使用其自带的MinGW,对于初学者在配置环境这步会少遇到一些坑。下载网址:http://www.codeblocks.org/downloads/binaries/Windows系统选择Binaryreleases中的第一个,如下图所示。对于不清楚自己的电脑中是不是有编译器的同学来说,就下载codeblocks-20
- 数据类型---C语言变量的定义与初始化
nhkl
c语言
文章目录前言一、变量的定义二、变量的初始化1、变量初始化的两种形式2、局部变量3、局部静态变量和全局变量前言假期巩固一下C语言的基础知识吧一、变量的定义1、C语言中对于变量的要求:“先定义,后使用”。C语言定义变量的语句格式:数据类型变量名[=初始数值]例如:chara;intx=2;charx='B';2、C语言要求在变量使用之前进行定义即可在codeblocks上还可这样写3、C语言对变量作强
- 如何阅读jOOQ指南
程序员布瓜
jOOQpython开发语言数据库架构数据库ormjooq
如何阅读jOOQ指南本节将帮助您在jOOQ上下文中正确解释本手册默认的一些约定和定义。代码块如下是代码块:--ASQLcodeblockSELECT1FROMDUAL//AJavacodeblockfor(inti=0;i#Aconfigfilecodeblockorg.jooq.property=value对于案例,提供一些代码段,这是非常有用的。通常,使用jOOQ,把SQL与相关联的java代
- c++:哈利波特之魔法石:对角巷
未来机械
编辑器
第一根魔杖:凤凰魔杖:DEVc++:小巧,易用;下载点这龙筋魔杖:VSCODE:功能强大下载点这独角兽魔杖CodeBlocks下载点这
- codeblocks代码提示导致延迟的问题
yanzhenxi
《白话C++》学习c++
只需把红框里的数字改大一些就可以了,如图,里面是数字5,就意味着,连续输入5个字符以后codeblocks才开始代码提示,这样,codeblocks因为要提示代码需要寻找的范围就会大大缩小,就不会有明显的延迟了下图的这个数字,代表:选中一个变量,变量的长度至少2个字符,同一源文件中其他位置的相同变量也会被选中如下图:
- 细说Dev c++的使用方法及常见问题
妙尽璇机
编辑器
相信大家对Devc++都不陌生吧,学校考试要用它,参加ACM竞赛也要用它(当然也可以用CodeBlocks或者是VC6.0。下面就来详细说说Devc++的使用方法及常见问题。包括1.如何设置为中文、2.源文件的创建、3.编译,运行,调试及其快捷键、4.如何设置代码字体,风格、5.如何设置代码背景颜色、6.调试时监视窗口(显示变量的框)不见了怎么办、7.一键注释和一键解注释、8.输入时复制粘贴出现奇
- LVGL开发教程:一、仿真环境的搭建
YZW0123
LittleVGLESP32嵌入式LvgllittleVglCodeBlocks
本文需要git,不知道的可以看文章开头的git使用连接教程LVGL开发教程:一、仿真环境的搭建前言(为什么使用CodeBlocks)一、CodeBlocks下载二、下载CodeBlocks仿真Demo①、下载lv_sim_codeblocks_win②切换文件目录③下载lvgl,lv_drivers文件夹内容三、编译运行四、Code::Blocks编译器主题美化①下载主题文件②修改配置文件③更换主
- Windows下CodeBlocks配置 支持C++11 多线程 std::thread
我想有个长长的名字
环境配置c++11std-threacodeblocks
失败的几种姿势之前看了几篇文章http://blog.csdn.net/guogaoan/article/details/17653295这篇博客是让在SourceForge上下载32位或64位的MinGW-buildsv4.8.0:下载链接分别是:(1)http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/
- 字符串函数
一瓢夜海繁星
c语言
目录读取字符串的函数1.gets()函数2.fgets()函数(不是所有的编译器都支持例如CodeBlocks)3.scanf()函数4.getchar()函数输出字符串的函数1.puts()函数2.fputs()函数(编译器不一定支持)3.printf()函数4.putchar()函数处理字符串的函数1.strlen()函数2.strcat()函数3.strncat()函数4.strcmp()函
- 2.C语言开发工具CodeBlocks
爱吃馒头的二饼
推荐开发工具:CodeBlocks,还需要一个GCC编译器的环境来支持c,c++的运行一、MinGW环境环境搭建MinGW环境下载:https://sourceforge.net/projects/mingw/files/latest/download?source=files安装过程:点击Install然后选好安装路径点击Continue,进入如下页面,等待下载完成image.png点击Cont
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数