cpp取反

05-4 位运算符-取反

取反的运算符的是:~,会按照二进制的方式运算。其运算规则如下:

  • ~1=-2;
  • ~0=-1;

取反运算会按二进制位进行"取反"运算。

我们举例子试试

  • 例1

    #include 
    using namespace std;
    int main()
    {
    cout << ~1 << endl;
    cout << ~0 << endl;
    return 0;
    }

    运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

    -2
    -1
  • 例2

    #include 
    #include "T2"
    using namespace std;
    int main()
    {
    int a = 100;
    int b = ~a;
    cout << a << endl;
    cout << b << endl;
    T2(a);
    T2(b);
    return 0;
    }

    运行结果:(环境:Windows11(arm/Apple M VM)/Visual Studio 2022/Debug/arm64)

    100
    -101
    01100100
    01100101

    注意一下:因为这里是自己写的函数没考虑那么多,实际上-101的二进制是-1100101

    在这里,我们创建了一个int的数据类型,其中,a的值为 100,ba取反的产物。

    我们将ab的二进制表达方式打印出来,可以看到,取反,相当于是将输入值先转化为二进制,然后再加上负号。

    最后再将b从二进制转化为十进制,即-101

    为什么会产生01100100变成01100101

    • 因为数字0只有一个,-0+0是一样的东西。事实上也没有-0+0这样的说法,因为用小学一年级开始我们就知道,世界上有三种数:正数、负数和 0。

总结

  1. 取反运算会按二进制位进行"取反"运算。
  2. 取反,相当于是将输入值先转化为二进制,然后再加上负号。
文章「cpp取反」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/642」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇