中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

九、運算符之按位運算符

發布時間:2020-07-30 08:13:10 來源:網絡 閱讀:461 作者:vik_xiao 欄目:編程語言
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _9.運算符之按位運算符
{
    class Program
    {
        static void Main(string[] args)
        {
            sbyte a = 65, b = -17;
            
            //  65 原碼 0100 0001 反碼 0100 0001 補碼 0100 0001
            // ~65 補碼 1011 1110 反碼 1100 0001 原碼 1100 0010     => -66
            Console.WriteLine("~{0} = {1}", a, ~a);
            
            // -17    原碼 1001 0001 反碼 1110 1110 補碼 1110 1111
            // ~(-17) 補碼 0001 0000 反碼 0001 0000 原碼 0001 0000  => 16
            Console.WriteLine("~{0} = {1}", b, ~b);
            
            //  65      原碼 0100 0001 反碼 0100 0001 補碼 0100 0001
            // -17      原碼 1001 0001 反碼 1110 1110 補碼 1110 1111
            // 65 & -17 補碼 0100 0001 反碼 0100 0001 原碼 0100 0001 => 65
            Console.WriteLine("{0} & {1} = {2}", a, b, a & b);
            
            //  65      原碼 0100 0001 反碼 0100 0001 補碼 0100 0001
            // -17      原碼 1001 0001 反碼 1110 1110 補碼 1110 1111
            // 65 | -17 補碼 1110 1111 反碼 1001 0000 原碼 1001 0001 => -17
            Console.WriteLine("{0} | {1} = {2}", a, b, a | b);
            
            //  65      原碼 0100 0001 反碼 0100 0001 補碼 0100 0001
            // -17      原碼 1001 0001 反碼 1110 1110 補碼 1110 1111
            // 65 ^ -17 補碼 1010 1110 反碼 1101 0001 原碼 1101 0010 => -82
            Console.WriteLine("{0} ^ {1} = {2}", a, b, a ^ b);
            
            // 根據以上程式得出以下結論:
            // (-x) = (~x + 1)
            // (~x) = (-x - 1)
            
            Console.ReadKey();
        }
    }
}

/**
 * 一、基本概念
 * 1. 數值類型在內存都是二進制補碼形式進行存儲。
 * 2. 對數值進行位運算符操作,實際上是對內存中的二進制位進行操作。
 * 
 * 二、原碼、反碼和補碼
 * 1. 正數的原碼、反碼和補碼相同。
 * 2. 負數的原碼、反碼和補碼轉換規則:
 *  原碼:操作數的二進制位。
 *  反碼:原碼除符號位外各位進行取反,符號位為0是正數,符號位為1是負數。
 *  補碼:反碼加1。
 * 
 * 三、按位運算符
 * 1. (~)按位取反   對操作數二進制位進行各位取反。
 * 2. (&)按位與     對兩個操作數的二進制位進行與操作。
 * 3. (|)按位或     對兩個操作數的二進制位進行或操作。
 * 4. (^)按位異或   對兩個操作數的二進制位進行異或操作。
 * 
 * 按位取反 如果二進制位為1,則結果為0,否則為1。
 * 按位與   如果兩個位都為1,則結果為1,否則為0。
 * 按位或   如果兩個位都是0,則結果為0,否則為1。
 * 按位異或 如果兩個位不相同,則結果為1,否則為0。
 * 
 */


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高清| 蓬莱市| 恩平市| 秀山| 林周县| 陆河县| 东台市| 平山县| 黄冈市| 阜平县| 石门县| 浪卡子县| 老河口市| 新营市| 磴口县| 龙门县| 白朗县| 仲巴县| 西乡县| 朝阳区| 饶阳县| 乌兰察布市| 安阳县| 惠州市| 陆川县| 响水县| 固阳县| 广宗县| 太保市| 博罗县| 克山县| 清涧县| 延津县| 玉屏| 定南县| 出国| 龙口市| 萨嘎县| 突泉县| 信丰县| 普安县|