精华内容
下载资源
问答
  • C语言整数

    千次阅读 2019-08-03 20:10:15
    在之前的章节,我们已经用过整数了,也定义过整型变量,好像没什么好讲的,整数就是整数整数是我们生活常用的数据类型,也是编程常用的一种数据,C语言使用int关键字来定义整数变量(int 是 integer 的...

     

    整数的概念

           在之前的章节中,我们已经用过整数了,也定义过整型变量,好像没什么好讲的,整数就是整数。

           整数是我们生活中常用的数据类型,也是编程中常用的一种数据,C语言使用int关键字来定义整数变量(int 是 integer 的简写)。

           在定义变量的时候,可以加signed、unsigned、short和long四种修饰符。

            signed:有符号的,可以表示正数和负数。

           unsigned:无符号的,只能表示正数,例如数组的下标、人的身高等。

           short:短的,现在主流的64位操作系统下,整数占用内存4个字节,使用 4 个字节保存较小的整数绰绰有余,会空闲出两个字节来,这些字节就白白浪费掉了。现在个人电脑的内存都比较大了,配置低的也有2G,浪费一些内存无所谓;而在C语言被发明的早期,或者在单片机和嵌入式系统中,内存都是非常稀缺的资源,所有的程序都在尽可能节省内存。

           long:长的,更长的整数。

    整数的取值范围

           整数的取值范围与计算机操作系统和C语言编译器有关,没有一个固定的数值,我们可以根据它占用的内存大小来推断它的取值范围。

           一个字节有8个位,表示的数据的取值范围是28-1,即255。

           如果占用的内存是两个字节,无符号型取值范围是28ⅹ28-1。

           如果占用的内存是四个字节,无符号型取值范围是28ⅹ28ⅹ28ⅹ28-1。

           如果占用的内存是八个字节,无符号型取值范围是28ⅹ28ⅹ28ⅹ28ⅹ28ⅹ28ⅹ28ⅹ28-1。

           如果是有符号,取值范围减半,包括负数部分。

           下面用一个示例代码来测试各种整数占用内存的大小。

           示例(book60.c)

          

           运行结果

          

           sizeof是C语言中保留关键字,是一种运算符,不是函数,sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位。

                  int ii;

                  sizeof(int)和sizeof(ii)都可以。

           根据book60.c的测试结果,我们可以得到各种整数的取值范围。

    类型简写

    类型全称

    长度

    取值范围

    short

    [signed] short [int]

    2字节

    -32768~32767

    unsigned short

    unsigned short [int]

    2字节

    0~65535

    int

    [signed] int

    4字节

    -2147483648~2147483647

    unsigned int

    unsigned [int]

    4字节

    0~4294967295

    long

    [signed] long [int]

    8字节

    -9223372036854775808~9223372036854775807

    unsigned long

    unsigned long [int]

    8字节

    0~18446744073709551615

           注意:

           1)计算机用最高位1位来表达符号,unsigned修饰过的正整数不需要符号位,在表达正整数的时候比signed修饰的正整数取值大一倍。

           2)在写程序的时候,上表中括号[]的单词可以省略不书写。

           3)在写程序的时候,给整数变量赋值不能超出变量的取值范围,编译的时候会出现类似以下的错误,程序运行也可能产生不可预后的后果。

          

           4)现在计算机的内存不值钱,建议程序员少用short,慎用int,多用long,内存不是问题,程序的稳定高于一切。

    整型的输出

           以下表格中,重点记住第一、二行十进制的输出格式,二十年来,八进制数我从来没有用过,十六进制数只在显示内存的地址时见过,所以大家不必关心八进制和十六进制的相关知识,了解即可。

     

    %hd、%d、%ld

    以十进制、有符号的形式输出int、long 类型的整数

    %hu、%u、%lu

    以十进制、无符号的形式输出int、long 类型的整数

    %ho、%o、%lo

    以八进制、不带前缀、无符号的形式输出 short、int、long 类型的整数

    %#ho、%#o、%#lo

    以八进制、带前缀、无符号的形式输出 short、int、long 类型的整数

    %hx、%x、%lx
    %hX、%X、%lX

    以十六进制、不带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字也小写;如果 X 大写,那么输出的十六进制数字也大写。

    %#hx、%#x、%#lx
    %#hX、%#X、%#lX

    以十六进制、带前缀、无符号的形式输出 short、int、long 类型的整数。如果 x 小写,那么输出的十六进制数字和前缀都小写;如果 X 大写,那么输出的十六进制数字和前缀都大写。

           注意一个坑:输出格式控制符的类型最好与变量的类型一一对应,否则会出现意外的后果,示例:

                  int i=32767;

                  printf("i %hd,%d\n",i,i);

                  int j=32768;

                  printf("j %hd,%d\n",j,j);

           输出结果:

                  i 32767,32767

                  j -32768,32768     // 得到了意外的输出结果

           %hd用于输出短整数,最大值是32767可以输出32767,但不能正常的输出32768

           用一个小碗去装一桶水,道理上说不过去。

           补充一个常用的输出方法,在输出的整数前补0,例如今天是2019年6月5日,输出可以这么写:printf("%d-%02d-%02d",2019,6,5),结果是2019-06-05,月份和日期如果不够两位,就在前面补0。

    二进制数、八进制数和十六进制数的书写

           一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。

    1、二进制

           二进制由 0 和 1 两个数字组成,使用时必须以0b0B(不区分大小写)开头,例如:

                  // 以下是合法的二进制

                  int a = 0b101;      // 换算成十进制为 5

                  int b = -0b110010;  // 换算成十进制为 -50

                  int c = 0B100001;   // 换算成十进制为 33

                  // 以下是非法的二进制

                  int m = 101010;  // 无前缀 0B,相当于十进制

                  int n = 0B410;    // 4不是有效的二进制数字

           请注意,标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字。换句话说,并不是所有的编译器都支持二进制数字,只有一部分编译器支持,并且跟编译器的版本有关系。

    2、八进制

           八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:

                  // 以下是合法的八进制数

                  int a = 015;      // 换算成十进制为 13

                  int b = -0101;    // 换算成十进制为 -65

                  int c = 0177777;  // 换算成十进制为 65535

                  // 以下是非法的八进制

                  int m = 256;  // 无前缀 0,相当于十进制

                  int n = 03A2;  // A不是有效的八进制数字

    3、十六进制

           十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x0X(不区分大小写)开头,例如:

                  // 以下是合法的十六进制

                  int a = 0X2A;   // 换算成十进制为 42

                  int b = -0XA0;  // 换算成十进制为 -160

                  int c = 0xffff;   // 换算成十进制为 65535

                  // 以下是非法的十六进制

                  int m = 5A;    // 没有前缀 0X,是一个无效数字

                  int n = 0X3H;  // H不是有效的十六进制数字

    4、十进制

           十进制由 0~9 十个数字组成,没有任何前缀,和我们平时的书写格式一样,不再赘述。

    5、需要注意的坑

           在现实生活和工作中,我们在写十进制数的时候,为了对齐或其它原因,在数值前面加0是无关紧要的,但是,在C语言中,不要在十进制数前加0,会被计算机误认为是八进制数。

    常用的库函数

           C语言提供了几个常用的库函数,声明如下:

                  int   atoi(const char *nptr);  // 把字符串nptr转换为int整数

                  long atol(const char *nptr);  // 把字符串nptr转换为long整数

                  int   abs(const int j);        // 求int整数的绝对值

                  long labs(const long int j);  // 求long整数的绝对值

           示例(book61.c)

          

           运行结果

          

    数据类型的别名

           C语言允许程序员使用 typedef 关键字来给数据类型定义一个别名,别名一般有两个特点:1)名称更短;2)更符合程序员的习惯。

           例如unsigned int起个size_t的别名。

                  typedef unsigned int size_t;

                  size_t ii; 等同于 unsigned int ii;

           我喜欢把整数这样起别名:

                  int不变。

                  typedef unsigned int uint;

                  long也不变。

                  typedef unsigned long ulong;

    获取随机数

           在实际开发中,我们会用到随机数这个功能,在C语言中,编写一些关于游戏之类的程序时就需要用到随机数。同时C语言也提供了一个标准库里面一个函数来产生随机数,而对于随机数的产生是根据种子(根据一个数值按照某种公式计算的)来变化的。

    1、生成随机数

           在C语言中,我们使用 <stdlib.h> 头文件中的 srand和rand 函数来生成随机数。

                  void srand (unsigned int seed);   // 随机数生成器的初始化函数

                  int rand ();    // 获一个取随机数

           srand函数初始化随机数发生器(俗称种子),在实际开发中,我们可以用时间作为参数,只要每次播种的时间不同,那么生成的种子就不同,最终的随机数也就不同,通常我们采用 <time.h> 头文件中的 time 函数即可得到一个精确到秒的时间作为种子。

           rand函数会随机生成一个位于 0 ~ RAND_MAX 之间的整数。而对RAND_MAX 是 <stdlib.h> 头文件中的一个宏,它用来指明 rand 所能返回的随机数的最大值(CentOS 6.9中是2147483647 )。

     

           示例(book63.c)

          

     

           运行结果

          

    2、生成一定范围随机数

           在实际开发中,需求往往是一定范围内的随机数,对于产生一定范围的随机数,就需要使用一定的技巧,常用的方法是取模运算,再加上一个加法运算:

                  int a = rand() % 50;   // 产生0~49的随机数

           如果要规定上下限:

                  int a = rand() % 51 + 100;   // 产生100~150的随机数

           取模即取余数,rand()%51+100,rand()%51是产生 0~50 的随机数,后面+100保证 a 最小只能是 100,最大就是 50+100=150。

    注意事项

           1)采用gdb调试程序,gdb调试程序是基本技能,与程序员的水平高低无关。只要看不出程序的错误原因,就可以gdb来调试。

           2)写程序不能碰运气,必须对自己写的代码有百分之百的把握,行有行的道理,不行有不行的原因,如果不行,可能是你对某个知识点没搞明白,还有坑,既然有坑,就要解决,不要绕过,要搞清楚原因。

           3)有问题不要埋头苦搞,如果一个问题20分钟还没有解决,就在群中提出来。凡事都有一个度,过之犹如不及,把一个小问题搞半天是浪费时间。

    版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!

    如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!

    展开全文
  • 一、条件测试命令: ...整数值比较 3.字符串比较 4.逻辑测试 1.文件测试 格式:[ 操作符 文件或目录 ] 后面接#echo $? –》返回值为0,则上一条执行正确,为1,则执行错误。 经典用法:

    本篇主要是对条件测试、if命令、(( ))、[[ ]]进行说明,如有不当之处,敬请留言指正。



    一、条件测试命令:

    格式1:test 条件表达式
    格式2:[ 条件表达式 ]

    测试的条件类型:

    • 测试文件状态
    • 整数值比较
    • 字符串比较
    • 逻辑测试

    1.文件测试

    格式:[ 操作符 文件或目录 ]
    常用的测试操作符:

    • -d:测试是否为目录(directory)
    • -e:测试目录或文件是否存在(exist)
    • -f:测试是否为文件(file)
    • -s:测试文件存在且内容非空(仅有1个空格也是非空)
    • -r:测试当前用户是否有权限读取(read)
    • -w:测试当前用户是否有权限写入(write)
    • -x:测试当前用户是否有权限执行(execute)

    后面接#echo $? –》返回值为0,则上一条执行正确,为1,则执行错误。

    经典用法:

    [ -d /backup ]&&echo "/backup directory is exist"||mkdir /backup

    这段代码的含义是:判断根下的backup目录是否存在,如果存在就输出”/backup directory is
    exist”,如果不存在就创建/backup目录。

    执行结果:
    这里写图片描述

    2.整数值比较

    (1)传统格式:[ 整数1 操作符 整数2 ]
    常用的测试操作符:

    • -eq:等于(equal)
    • -ne:不等于(not equal)
    • -gt:大于(greater than)
    • -lt:小于(lesser than)
    • -le:小于或等于(lesser or equal)
    • -ge:大于或等于(greater or equal)

    (2)双圆括号比较: 格式:(( 整数1 操作符 整数2 ))

    推荐使用双圆括号法比较整数值

    # a=10
    # ((a>20)) && echo ok || echo no  
    no
    
    #((a>b)) 
    #[ $b -gt $a ];echo $? --》不能使用> < >= ==

    练习1:

    # who | wc -l
    7
    # [ $(who | wc -l) -gt 5 ] && echo "Too many."    
    --》用户数是否>5
    Too many.
    # [ $(who | wc -l) -ge 10 ] && echo "> = 10."    
    --》用户数是否>=10

    练习2:
    监控内存的使用情况,一旦内存的可用空间低于800M就在屏幕上输出“your system is less than 800M,you need to do something to improve memory size”(用free -m 命令即可)。
    答案:

    # a=$(free -m|grep "Mem"|tr -s ' '|awk '{print $4}')
    # [ $a -lt 800 ]&&echo "your system is less than 800M"

    3.字符串比较

    (1)
    格式1:
    [ 字符串1 = 字符串2 ]
    [ 字符串1 != 字符串2 ]
    格式2:
    [ -z 字符串 ]

    • -z:字符串内容为空
    • -n:字符串内容非空

    判断字符串时,建议都加“”

    例子:
    这里写图片描述
    这里写图片描述

    (2)双方括号进行字符串比较–》推荐
    格式:[[ 字符串1=字符串2 ]]
    (方括号时,要用-gt等等符号 )

    [[ ]] 可以解决变量中带空格的问题!!

    # [ $a = "abc 123" ] && echo ok || echo no  
    -bash: [: too many arguments
    no
    # [[ $a = "abc 123" ]] && echo ok || echo no
    ok

    PS:

    # a=cc
    # [[ $a=="ccc" ]]
    # echo $?
    0    ==》系统把[[]]里面的语句当作了一条命令,并没有比较!!
    
    # [[ $a == "ccc" ]]    --》在等号前后分别加空格即可!!
    # echo $?
    1

    可以使用通配符:

    # cat test.sh
    #!/bin/bash
    [[ $1 = ??? ]] && echo ok || echo no    --》匹配任意三个字符
    # ./test.sh ab
    no
    # ./test.sh abc
    ok
    
    # cat test.sh
    #!/bin/bash
    [[ $1 = a* ]] && echo ok || echo no    --》匹配以a开头的
    # ./test.sh bbba
    no
    # ./test.sh abb
    ok
    
    # cat test.sh
    read -s -p "please input password: " pass
    [[ $pass = ???* ]] && echo passwd is ok || echo passwd too short
    --》判断密码的长度至少为3

    练习1:设置密码

    判断用户是否存在,存在则设置密码,不存在就新建,然后给用户设置密码,用户输入的密码长度小于6位时给与提醒,弱密码,如果大于6位,提醒用户设置的密码长度,并且提示安全。

    答案:

    #!/bin/bash
    read -p "Please input the user:" u_name
    if id u_name
    then
            read -p "Please input the passwds:" pass
            len=echo $pass|wc -m --》统计密码的长度
            echo $pass|passwd $u_name&>/dev/null
    else
            echo "The user u_name isn't exit!!"
            useradd u_name && echo "User u_name create OK!!"
            read -p "Please input the passwds:" pass
            echo $pass|passwd $u_name&>/dev/null
    fi
    [[ $pass = ?????? ]] && echo "passwd is OK!And the lens is $(($len-1)) ,it‘s  so good!!"||echo "passwd is so short!!"

    怎么得到密码的长度?

    方法①:

    #a=123
    #len=echo  ${#a}    --》非常准确!

    方法②:

    len=echo $a|wc -m   --》得到的值比实际大1

    PS:bash自带的处理字符串

    • echo ${#a}
      • $a中字符串的个数
    • echo ${a:3}
      • $a中从第三个开始取值直到结束
    • echo ${a:3:2}
      • $a中从第三个开始取两个字符
    • echo ${a: -1}
      • 取最后一个字符
    • echo ${a#*.}
      • 从左边开始删除直到遇到 . (句号)为止
    • echo ${a##*.}
      • 从左边开始删除直到遇到最后一个句号为止
    • echo ${a%.*}
      • 从右面开始删除直到遇到句号为止
    • echo ${a%%.*}
      • 从右面开始删除直到遇到最后一个句号为止
    • echo ${a/abc/111}
      • 将变量a中第一个abc替换成111
    • echo ${a//abc/xyz}
      • 将变量a中的所有的abc替换成xyz

    练习2 :新建用户

    提示用户输入用户名,判断用户是否存在,如果存在,要提醒用户是否删除并新建,输入yes就删除,输入no则不删除;用户不存在时,也提醒用户不存在,输入yes新建,输入no则不新建。
    答案:

    #!/bin/bash
    
    read -p "Please input the Username:" U_name
    if id $U_name
    then
            read -p "Would you like to delete this user?(yes/no)" a
            if [ $a = "yes" ]
            then
                    userdel -r $U_name&&echo "U_name deleted OK!!!"
            else
                    echo "You choose don't delete!"
            fi  
    else        
            read -p "Would you like to creat U_name?(yes/no)" b
            if [ $b = "yes" ]
            then
                    useradd $U_name&&echo "User $U_name created OK!!!"
            else
                    echo "You choose don't create!"
            fi
    fi  

    小结:

    • (()) :推荐作数值比较
    • [] :字符串和数值比较
    • [[]] :字符串和数值比较,推荐作字符串比较

    4.逻辑测试

    格式1:[ 表达式1 ] &&或|| [ 表达式2 ] …
    格式2:[ 表达式1 -a或-o 表达式2 ] …

    • -a或&& 表示逻辑与,是“而且”的意思
      • 前后两个表达式都成立时整个测试结果才为真,否则为假。
    • -o或|| 是逻辑或,是“或者”的意思
      • 操作符两边至少一个为真时,结果为真,否则结果为假
    • !:逻辑否。
      • 当指定的条件不成立时,返回结果为真。

    练习:使用条件测试完成下列任务

    (1)测试/分区磁盘空间,小于10%,显示“一切正常”,否则显示“当前的磁盘空间是磁盘空间% 警告”
    (2)统计当前系统的登陆用户,登陆用户小于3个,显示“一切正常”,否则显示“登陆用户已经有:个数”
    (3)测试当前主机eth0的网卡入站和出站流量,只要两个都大于200MiB,就显示“警告”;
    (4)当内存空闲空间小于内存的5%时,显示“内存不足”,否则显示“当前空闲内存是:内存空闲数值”

    答案:

    1#df -Th
    #!/bin/bash
    a=$(df -Th|grep sda3|tr -s ' '|awk '{print $6}'|tr -d %)
    if (( $a<10 ))
    then
            echo "Everything is OK!"
    else
            echo "Now is:$a % free space!"
    fi2#who
    #!/bin/bash
    a=$(who|wc -l)
    (($a<3))&&echo "Everything is OK!"||echo "The user is: $a "3#watch -n 1 "/sbin/ifconfig eth0“
    watch -n 1 "/sbin/ifconfig eth0|grep bytes|tr -s ' '|cut -d ' ' -f8|tr -d '(' ")
    (4#free
    #!/bin/bash
    free=$(free|grep "Mem"|tr -s ' '|awk -F ' ' '{print $4}')
    tocal=$(free|grep "Mem"|tr -s ' '|awk -F ' ' '{print $2}')
    echo "The free space is: $free"
    echo "The tocal space is:$tocal"
    bai=$(echo -n 0;echo "scale=2;$free/$tocal"|bc)
    bai_xin=$(echo $bai|tr -d '0.')
    echo "$bai_xin"
    (($bai_xin<5))&&echo "The mem isn't enough!!"||echo "当前空闲内存是:$free,空闲百分比:$bai_xin%"
    

    效果:
    这里写图片描述

    练习:

    将access.log 文件里的web日志访问次数最多的10个ip地址,显示出来要求格式如下:
    1 172.16.30.123 tocal:1898
    2 172.16.30.34 tocal:1800
    3 172.16.20.13 tocal:1456

    答案:
    #cat access.log | cut -d ” ” -f1 | sort | uniq -c | sort -k1 -nr | head | tr -s “ “| cat -n | awk -F “ ” ‘{print 13,“tocal:”$2}’

    分析:
    截取文件里的ip–》相同ip在一起–》去重统计–》按第一列的数值大小降序–》取前十个–》压缩空格–》产生行号–》截取1,3,2列

    效果:

    这里写图片描述

    方法2:

    这里写图片描述


    二、if语句

    格式:
    (1)单分支:

    if
    then 
            语句
    fi

    (2)双分支:

    if
    then
            语句
    else
            语句
    fi

    (3)多分支:

    if
    then
           语句
    elif
    then
           语句
        ...
    else
           语句
    fi

    练习:
    按成绩分层次输出优秀、及格等等信息。

    #!/bin/bash
    read -p "Please input the score:" score
    if (($score>=90))&&(($score<=100))
    then
            echo "成绩优秀!"
    elif(($score>=61))&&(($score<=89))
    then
            echo "成绩及格!"
    elif (($score==60))
    then
            echo "及格万岁!"
    elif (($score<60))
    then
            echo "你需要补考!"
    else
            echo "应该是0-100的数,输入错误!"
    fi

    PS:

    • ^[0-9]*$ 匹配只是数字的数值,不包含字母
    • ^ 代表以什么开头
    • $ 代表以什么结尾
    • [0-9] 代表数字0-9
    • - 代表前面的字符有0个或者多个

    练习:

    检查整个局域网中172.16.30.0/16,172.16.30.1到30.254之间的ip,有哪些ip正在使用,哪些没有使用;显示出正在使用的ip地址和总数。

    #!/bin/bash
    
    #实验时把255改成180 200即可
    for b in `seq 255`
    do
        ip=172.16.30.$b
        echo $ip
        (ping $ip -c 1 -i 0.2 -w 1 &>/dev/null )&
        if (( $?==0 ))
        then
            echo "$ip is UP" >>IPADD2.txt
        else
            echo "$ip is DOWN" >>IPADD2.txt
        fi
    done
    sleep 3
    num_up=`cat IPADD2.txt | grep UP | wc -l`
    num_down=`cat IPADD2.txt | grep DOWN | wc -l`
    echo "There are $num_up computers UP."
    echo "There are $num_down computers DOWN."
    展开全文
  • 算法知识点底符号 ⌊ x ⌋ 上面缺一横: 不大于x的最大整数。 『x 下面缺一横: 不小于x的最小整数『x

    算法知识点

    取底符号
    这里写图片描述

    ⌊ x ⌋ 上面缺一横: 不大于x的最大整数。


    这里写图片描述

    『x 下面缺一横: 不小于x的最小整数『x

    展开全文
  • 、生成随机整数:可以调用random的randint(a,b)括号中的是你想要填的随意区间随机小数:random.randn()这个括号填的是你要随机小数的个数完整代码 import random import numpy as np a ...

    在做Python一道面试题的时候,发现这道题出了不够严谨,因为现在版本的不一样,有些用的是Python2的方法。

    现在我为你们补上Python3的个人方法;、

    生成随机整数:可以调用random中的randint(a,b)括号中的是你想要填的随意区间

    随机小数:random.randn()这个括号填的是你要随机取小数的个数

    完整代码

     
    import random
    import numpy as np
    
    a = random.randint(10,20)
    res = np.random.randn(5)
    ret = random.random()
    print("正整数:"+str(a))
    print("5个随机小数:"+str(res))
    print("0-1随机小数:"+str(ret))

    展开全文
  • 如何在一个字符串提取整数和小数部分,如果字符串没有... // 需要取整数和小数的字符串 String str = "需要提取的字符串1.111"; // 控制正则表达式的匹配行为的参数(小数) Pattern p = Pattern....
  • JS 的最大安全整数是多少?

    千次阅读 2019-04-25 16:11:11
    JS 所有的数字类型,实际存储都是通过 8 字节 double 浮点型 表示的。浮点数并不是能够精确表示范围内的所有数的, 虽然 double 浮点型的范围看上去很大: 2.23x10^(-308) ~ 1.79x10^308。 可以表示的最大整数...
  • Shell脚本各种括号用法

    千次阅读 2017-08-28 20:15:16
    括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。 ②命令替换。等同于`cmd`,...
  • C和C++安全编码笔记:整数安全

    千次阅读 2020-05-30 18:47:04
    一个具有整数类型的对象的值的表示方式(representation)是在为该对象分配的存储空间该值的特定位模式编码。 在C每个整数类型的对象需要一个固定的存储字节数。<limits.h>头文件的常量表达式CHAR_BIT,...
  • 一个整数N,他可能等于比它小的若干个整数(大于2)相加。如果存在这样的连续整数,将他们输出,如果没有则不输出。 例: 整数18,18=5+6+7=3+4+5+6。所以输出[5 6 7],[3 4 5 6]。这是一个公司给出的笔试编程题,...
  • 运筹优化(十)--整数规划求解

    万次阅读 2019-01-17 21:50:21
    分枝定界法通过增加附加约束条件,使整数最优解最终成为线性规划的一个极点(顶点),于是整个问题就可使用单纯形法找到这个整数最优解;对有约束条件的最优化问题(其可行解为有限数)的可行解空间恰当地进行系统搜索...
  • //group()的参数:0表示匹配整个正则,1表示匹配第一个括号的正则,2表示匹配第二个正则,在这只有一个括号,即1和0是一样的 str = m . group ( 1 ) == null ? "" : m . group ( 1 ) ; } else { ...
  • shell括号(小括号,大括号/花括号) http://my.oschina.net/xiangxw/blog/11407 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:  1.${var}  2.$(cmd)  3.()和{}...
  • c语言 整数和浮点数 C ++的所有数字 ( All About Numbers in C++ ) In C++ there are two types of numbers. Ints and floats. There are also variants of these types that hold bigger numbers, or only ...
  • 最近复习java的时候碰到这样一题:Java定义一个求三个整数最大值的方法 代码如下: public class test01 { public static void main(String[] args) { int theMax=threeNumMax(9,5,7); //预设三个数,通过...
  • Go语言核心之美 2.1-整数

    千次阅读 2016-03-16 13:44:02
    字会被解释为整数、浮点数、比特位数组、内存地址等,这些字又可以进一步聚合成数据包(packet)、像素点、作品集、是个或者其它任何对象。Go语言提供了多样化的数据组织方式,这些数据类型能提供硬件层面的兼容性,也...
  • 输入一个正整数N,打印出所有符合要求的括号组合。
  • C语言整数的取值范围

    千次阅读 2020-04-13 15:50:47
    整数是我们生活常用的数据类型,也是编程常用的一种数据,C语言使用int关键字来定义整数变量(int是 integer 的简写)。 在定义变量的时候,可以加signed、unsigned、short和long四种修饰符。 signed:有符号的...
  • shell变量实现加法的方法 d=((((((d + 2)) 例子如下 #!/bin/bash d=0 echo &amp;quot;d=$d&amp;quot; for((i=1;i&amp;amp;lt;=10;i++)); do d=$(($d + 2)) echo &amp;quot;d=$d&amp;quot; ...
  • 有一个写在黑板上的加减法算式,运算符只包含加号、减号和括号,但其中的括号被清洁工擦去了。现在需要你写一个算法计算这...算式每个整数最多有5位 输出: 一个整数:即括号被擦去之前,该算式可能的最小结果值 ...
  • 数组(中括号包起来) NULL类型(null) 在使用gson将json字符串转换成Map<String,Object> 对象时, 我发现原先json字符串中的整形,出来变成了double类型, 当我取出对应的字段直接toString的时候,再转成...
  • 在刚刚学习写shell 批处理时候,进行逻辑运算,少不了需要进行基础的:四则运算,这里说说在linux shell 里面简单的实现方法。...在linux shell,我们可以使用 $(()) 将表达式放在括号中,即可达到运
  • shell下整数运算

    千次阅读 2016-01-08 11:35:41
    将一个数学运算写到$[]符号的中括号中,中括号中的内容将先进行数学运算。例如命令echo$[1+2],将输出结果3。 下面是一个shell程序实例,实现数学函数S=3(xy)+4x2+5y+6的运算。在程序中以位置变量的方式输入x与y...
  • 整数的加法和乘法运算

    千次阅读 2015-08-18 11:08:02
    C和C++中整数最大只能表示10位,不能就会溢出,所以出现了如何避免整数溢出的问题。其中一个方法就是使用字符串来表示,使用字符串的长度是没有限制的。 使用字符串表示整数然后进行乘法运算的关键有如下几点: ...
  • 本文介绍了Python里的整数和浮点数运算以及布尔值运算
  • 母函数理解及整数拆分

    千次阅读 2014-08-04 11:21:22
    母函数的定义以及整数拆分模板 母函数(Generating function)详解 分类: 母函数 2012-08-12 20:33 899人阅读 评论(0) 收藏 举报 functionc2010生活 在数学,某个序列的母函数是一种形式幂级数...
  • 参考:https://www.cnblogs.com/itxdm/p/something_of_shellscirpt.htmlhttps://www.cnblogs.com/hanggegege/p/5928870.htmlhttps://blog.csdn.net/ztf312/article/details/52317571技巧小结:1、单小括号( ):shell...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,230
精华内容 33,292
关键字:

中括号取整数