一:
一道很有意思的位运算题目:
你只有两种操作
bis(x, y): 在y为1的每个位置上,将x的对应的位设为1
bic(x, y): 在y为1的每个位置上,将x的对应的位设为0

简单的化简一下
bis(x, y): return x | y;
bic(x, y): return x & ~y;

任务:实现XOR运算
异或就意味着 一边为1 一边为0。所以答案就是
bis(bic(x, y), bic(y, x));

二:
对补码有了新的理解,由于这里写公式不是很方便就不贴了(见书P45
B2T(Binary to Two's-complement)向整数的映射,就是最高位的权重取负数再求和
e.g.
B2T([1011]) = -1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = -8+0+2+1 = -5
这个就更直观的解释了:
补码表示的整数范围的最小值是-2^(w-1), 最大值是2^(w-1)-1
例如长度为4位的位模式TMin([1000])=-8, TMax([0111])=7

几乎所有的现代机器都使用补码表示有符号整数

三:
在C/C++中,无符号数和有符号数比较会产生意想不到的效果。
因为有符号数是用补码表示的,当无符号数和有符号数同时比较的时候,有符号数会被隐式的强制转换为无符号数
e.g. -1 > 0u 是true

四:
截断数字:减少表示数字的位数。
公式见P57
简单的来说就是,把数字的二进制形式直接减少,不用做别的处理
e.g.

int main()
{
int x = ;
short sx = (short) x;
cout << sx << endl;
int y = sx;
cout << y << endl;
return ;
}

结果是
-12345
-12345

最新文章

  1. Go语言常用命令介绍
  2. jquery如何在异步方式中给全局变量赋值
  3. nodepad++快捷键收集
  4. PHP获取用户真实 IP , 淘宝IP接口获得ip地理位置(转)
  5. MVC去掉传参时的验证:从客户端中检测到有潜在危险的Request.QueryString值
  6. struts2 标签的使用之一 s:if(遍历中s:if如何用等)
  7. apache tomcat 集群! (转)
  8. 框架基础:ajax设计方案(二)---集成轮询技术
  9. 【2017-03-12】SQL Sever 子查询、聚合函数
  10. 《java入门第一季》之面向对象多态面试题(多态收尾)
  11. Jmeter正则表达式提取器(转载)
  12. VS2017安装步骤详解
  13. 网络通信协议三之TCP/IP模型详解
  14. 自定义SpringBoot控制台输出的图案
  15. 20155308《网络对抗》Exp6 信息搜集与漏洞扫描
  16. Windows编程之connect函数研究
  17. jenkins-node-pipeline
  18. oracle 批量更新之update case when then
  19. CSS浮动与清除浮动(overflow)例子
  20. java BufferedImage 合成多张图片 - 因为JPEGImageEncoder 不能用

热门文章

  1. 【CSS】电脑、移动端公用样式
  2. OC 语言特点以及与其他语言的区别
  3. KVM NAT(网络地址转换模式)
  4. 下拉式菜单中的内容堆叠(ul型)
  5. RabbitMQ系列之【设置RabbitMQ远程ip登录】
  6. c# 不同单例的不同意义
  7. 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
  8. c常用函数-strlen
  9. 从字符串到常量池,一文看懂String类设计
  10. php配置文件