收藏此站 联系我们 网站
当前位置:首页» 行业新闻 » 【建站服务】克孜勒苏做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

【建站服务】克孜勒苏做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

作者: 风兰 . 阅读量: 4 . 发表时间:2022-09-21 05:42:47

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


克孜勒苏做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式

网站建设.png

  1. 利用异或 ^ 来交换两个数的值,而且不引入其他变量。

    unsigned int a=60;  //0011 1100unsigned int b=13;  //0000 1101a=a^b;              //a=a^b=0011 0001b=a^b;              //b=a^b=0011 1100  相当于b1=(a^b)^ba=a^b;              //a=a^b=0000 1101  相当于a1=(a^b)^((a^b)^b)

    实例

    #include<stdio.h>int main( ){    unsigned int a=60;         //0011 1100    unsigned int b=13;         //0000 1101    printf("a=%d,b=%d",a,b);   //输出a,b的值    printf("
    ");    a=a^b;                     //a=a^b=0011 0001    b=a^b;                     //b=a^b=0011 1100    a=a^b;                     //a=a^b=0000 1101    printf("a=%d,b=%d",a,b);   //输出a,b的值}

    结果:

    a=60,b=13;a=13,b=60;

    仅用一行代码实现的方法:

    a^=b^=a^=b;

    其等价于:

    a=a^b;b=a^b;a=a^b;

    当然,这种利用位运算的交换方法只适用于整型变量,不能用于浮点型变量!

    sfvx

       sfvx

      268***0313@qq.com

    5年前 (2017-09-13)
  2.    BeanShell

      286***384@qq.com

    137

    利用位与 & 运算,判断一个整数是否是2的整数次幂。

    二进制数的位权是以2为底的幂,如果一个整数 m 是 2 的 n 次幂,那么转换为二进制之后只有最高位为 1,其余位置为 0,再观察 m-1 转换为二进制后的形式以及 m&(m-1) 的结果,例如:

    2 --> 0000 0010        1 --> 0000 0001        2&1 --> 0000 0010 & 0000 0001 = 04 --> 0000 0100        3 --> 0000 0011        4&3 --> 0000 0100 & 0000 0011 = 08 --> 0000 1000        7 --> 0000 0111        8&7 --> 0000 1000 & 0000 0111 = 0

    可以看出所有的 1 完美的错过了,根据位与的特点可知 m&(m-1) 的结果为 0。

    如果整数 m 不是 2 的 n 次幂,结果会怎样呢?例如 m=9 时:

    9 --> 0000 1001        8 --> 0000 1000        9&8 --> 0000 1001 & 0000 1000 != 0

    利用这一特点,即可判断一个整数是否是2的整数次幂。

    示例:

    int func(int num){
        return ((num > 0) && ((num & (num - 1)) == 0));//2的n次幂大于0}

    返回值为 1,则输入的正整数为 2 的整数次幂,返回值为 0 则不是。

    BeanShell

       BeanShell

      286***384@qq.com

    5年前 (2017-11-04)
  3.    布克F91

      335***443@qq.com

    74

    对取余运算的说明

    取余,也就是求余数,使用的运算符是 %。C 语言中的取余运算只能针对整数,也就是说,% 的两边都必须是整数,不能出现小数,否则编译器会报错。

    另外,余数可以是正数也可以是负数,由 % 左边的整数决定:

    请看下面的例子:

    #include <stdio.h>int main(){
        printf( "100%%12=%d 
    100%%-12=%d 
    -100%%12=%d 
    -100%%-12=%d 
    ", 100%12, 100%-12, -100%12, -100%-12 );
        return 0;}

    运行结果:

    100%12=4100%-12=4-100%12=-4-100%-12=-4
    布克F91

       布克F91

      335***443@qq.com

    4年前 (2018-06-13)
    •  如果 % 左边是正数,那么余数也是正数;

    •  如果 % 左边是负数,那么余数也是负数;

  4.    forspy

      qiu***@126.com

    31

    对于 2 的幂指数的详细程序

    #include <stdio.h>int num;int func(int num){    if ((num>0)&&(num&(num-1))==0)    {        printf("%d是2的整数次幂",num);    }    else    {        printf("%d不是2的整数次幂",num);    }    return((num>0)&&(num&(num-1))==0);}int main(){    printf("请输入要查询的数
    ");    scanf("%d",&num);    func(num);}
    forspy

       forspy

      qiu***@126.com

    4年前 (2018-07-06)
  5.    RES

      432***967@qq.com

    26

    不同长度的数据进行位运算

    如果两个不同长度的数据进行位运算时,系统会将二者按右端对齐,然后进行位运算。

    以“与”运算为例说明如下:我们知道在 C 语言中 long 型占 4 个字节,int 型占 2 个字节,如果一个 long 型数据与一个 int 型数据进行“与”运算,右端对齐后,左边不足的位依下面三种情况补足:

    •  (1)如果整型数据为正数,左边补 16 个 0。


不同长度的数据进行位运算


如果两个不同长度的数据进行位运算时,系统会将二者按右端对齐,然后进行位运算。


以“与”运算为例说明如下:我们知道在 C 语言中 long 型占 4 个字节,int 型占 2 个字节,如果一个 long 型数据与一个 int 型数据进行“与”运算,右端对齐后,左边不足的位依下面三种情况补足:


 (1)如果整型数据为正数,左边补 16 个 0。

 (2)如果整型数据为负数,左边补 16 个 1。

 (3)如果整形数据为无符号数,左边也补 16 个 0。

如:long a=123;int b=1; 计算 a & b。


如:long a=123;int b=-1; 计算 a & b。


如:long a=123; unsigned int b=1; 计算 a & b。


RES

   RES


  432***967@qq.com


4年前 (2018-07-16)

   荒城梦呓


  449***19@qq.com


38

| 和 ||,& 和 && 的区别


我们将 || 和 && 定义为逻辑运算符,而 | 和 & 定义为位运算符。


&& 如果两个操作数都非零,则条件为真;


|| 如果两个操作数中有任意一个非零,则条件为真。


& 按位与操作,按二进制位进行"与"运算。运算规则:(有 0 则为 0)


0&0=0;   

0&1=0;    

1&0=0;     

1&1=1;

| 按位或运算符,按二进制位进行"或"运算。运算规则:(有 1 则为 1)


0|0=0;   

0|1=1;   

1|0=1;    

1|1=1;

那么,问题来了,在判断语句中,用 | 还是 ||,& 还是 &&?


判断语句中为布尔类型,值只有 true 和 false(如果变量值为 0 就是 false,否则为 true)


举个例子,a=1 b=2

所以 a>0 这个值为true    b>1 这个值为true     b>2 这个值为 false

如 if(a>0&b>1)  我们可以得出 if(true&true),条件成立(true不为0,所以true&true不为0)

如 if(a>0&&b>1)  我们可以得出 if(true&&true),条件成立(&&两边操作数都非零,所以条件成立)

如 if(b>2&a>0) 我们可以得出 if(false&true),条件不成立(false为0,false&true为0,条件不成立)

如 if(b>2&&a>0) 我们可以得出 if(false&&a>0),条件不成立(&&左侧为false,&&运算到此结束,条件不成立)

可以看出 & 和 && 在判断语句中都可以实现“和”这个功能,不过区别在于 & 两边都运算,而 && 先算 && 左侧,若左侧为 false 那么右侧就不运算了。因此从效率上来说,判断语句中推荐使用 &&(换句话就是逻辑运算就老老实实用逻辑运算符,不然它为啥叫逻辑运算符呢?)


而 | 和 || 的比较与上类似,不做赘述。


荒城梦呓

   荒城梦呓


  449***19@qq.com


4年前 (2018-08-26)

   chiu


  amo***@126.com


49

a++ 与 ++a 区别在于一个后加,一个先加。


a++ 输出 a 的值再自加,缓存 a 自加后的结果,用于下次进行与 a 相关的计算。


++a 则相当于 a+1。


#include <stdio.h>


int main(int argc, char **argv) {

    int a=100;

    int b=50;

//    b++;

    printf("%d,%d ",a++,++a);

    printf("%d,%d",b++,++b);

    return 0;

}

运行后输出:


101,102

51,52

若不注释 b++:


int main(int argc, char **argv) {

    int a=100;

    int b=50;

    b++;

    printf("%d,%d ",a++,++a);

    printf("%d,%d",b++,++b);

    return 0;

}

则结果为:


101,102

52,53

chiu

   chiu


  amo***@126.com


4年前 (2018-12-21)


克孜勒苏做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务