zoukankan      html  css  js  c++  java
  • 整数的运算

    无符号数加法

    对满足0 =< x, y<2w的x和y有:

    例如:无符号数65535 + 1 为10000000000000000,由于超过16位,所以截断后0~15位都是0,因此结果为0

    结果为0

    补码加法运算

    补码加法运算就是先按照无符号加法进行运算,而后在进行无符号和有符号的转换

       

    对满足 -2w-1  <= x,y <= 2w-1-1的整数x和y, 有

     

    例如:-35768 + (- 1)要先把两个数转换为无符号数,进行运算后再转为有符号数

    结果为2147483647

    无符号数乘法

    将一个无符号数截断为w位等价于计算该值摸2w

    结果为65534

    补码乘法

    将一个补码数截断为w位相当于先计算该值摸2w,再把无符号数转换为补码

    补码乘法相当于先计算两个值的乘积,再将该值模2w,再把无符号数转换为补码

    结果为

    0

    14

    乘以常数

    左移一个数值等于执行一个与2的幂相乘的无符号乘法,低位补0

    除以常数

    除以 2 的幂可以用向右移位来运算,无符号除法使用逻辑移位,补码除法使用算术移位

  • 相关阅读:
    python生成CSV文件并发送邮件
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    扔鸡蛋
  • 原文地址:https://www.cnblogs.com/zzdbullet/p/9618051.html
Copyright © 2011-2022 走看看