牛客基础打卡 6.5

牛客基础打卡 6.5,第1张

1. 算式 3<<2|3 的结果是:15

左移运算符优先级大于或运算符!位运算针对二进制。

3=0000 0011,2=0000 0010

3<<2=0000 001100=00 0000 1100 (左移=在右边加0,再截取低八位)

(3<<2)|3=0000 1100 | 0000 0011=0000 1111=15

2. 已知int i=1, j=2;,则表达式i+++j的值为:3

i+++j=i++ +j=1+2=3(++自增运算符优先级高于加法运算符+)

3. 位运算的对象只能是整型或字符型数据!!

位运算中的按位取反只需要一个 *** 作数。

4. 关于格式化输入与输出,标准库定义了一组 *** 纵符(manipular)来修改流的格式状态,这些 *** 纵符都定义在头文件 iomanip 中。

使用运算符对数据进行格式输出时,必须要包含iomanip.h头文件。

 

 5. 关于iomanip.h头文件:

iomanip.h是I/O流控制头文件,就像C语言里面的格式化输出一样,主要是对cin和cout的 *** 纵。需要注意C++中替代iomanip.h并不是cipmanip,而是直接iomanip。

5.1 设置域宽setw(N)
当我们需要保证输出宽度为N,预设宽度(不够在前面用空格补齐),如下: 

cout<

 5.2 流输出八进制,十六进制
  dec 置基数为10 相当于"%d"
  hex 置基数为16 相当于"%X"
  oct 置基数为8 相当于"%o"

  例如输出一个数的16进制,如下:

cout<

如果需要流输出二进制,则包含bitset.h头文件,调用bitset<>()函数完成十进制输出为二进制,如下:

#include
cout<(255)<

5.3 填充字符setfill(char c)
setfill(char c)就是在setw()设置的预设宽度中,如果存在没有用完的宽度大小,则用字符c填充。如下:

cout<

5.4 进制转换setbase(int n)
  将某一个十进制数转换为一个n进制的数,实际上只能是8和16进制,如果是2~36任意进制使用stdlib.h头文件中itoa函数,使用如下:

cout<

5.5 控制输出流的精度setprecision(int n)
  使用setprecision(int n)可控制输出流显示浮点数的数字个数(包括整数部分)。C++默认的流输出数值有效位是6。使用如下:

cout<

6. 回文数

注意:负整数不是回文数。

bool isPalindrome(int x ) {
    //得到逆序数字再和原数字比较,为负数返回false
    if(x<0) return false;
    int tmp=x,y=0;
    while(tmp!=0)
    {
        y=y*10+tmp%10;
        tmp/=10;
    }
    return y==x;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1325933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)