🌈hello,你好鸭,我是Ethan,西安电子科技大学大三在读,很高兴你能来阅读。
✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!
🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客
🔥温馨提示:划到文末发现专栏彩蛋 点击这里直接传送
🔥本篇概览:记录了自己EhtanYankang在观看《孤注一掷》后的感想。🌈⭕🔥
【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】
昨天看了电影《孤注一掷》,作为反诈题材的电影,其尺度之空前让人直呼过瘾。我有什么感想?此事值得内省。
凝之两点:
1.人有两颗心,一颗是贪心,一颗是不甘心。
此点自然不想赘述,记住两点就好:撞上门的好事轮不到自己、世界永远不缺聪明人。
2.从`倍投法则`审视`计算机的底层数据表示`。
剧中分析赌注法则的一幕引起了自己对计算机底层的数据表示的思考。作为一个`宅`男(目前是),可能这是一种条件反射吧。剧中论述如下:
这里的下一把下double,只要赢一把,哪怕自己之前全部输了,就能挽回之前所有的损失。
提炼出公式:
前面所有输的: (1+2+4+……+2^n)=2^(n+1)-1
最近一把赢的: 2^(n+1)
那么有:
(1+2+4+……+2^n)=2^(n+1)-1<2^(n+1)
上式就是整个计算机体系为什么要选用补码表示数据的原因——
因为计算机的高位具有与倍投法则一样的一叶障目的功能:
假设有1111这样的四位数据(有符号),那么这里表示的是-4+3=-1。这个性质表明了哪怕之前的所有位都是最大的值,只要我的高位一小,那么就是负数(具体来说是-1);那么在数轴上的分布:2^n-1-0个正数、一个0、2^n个负数。所以利用补码的设计(高位1表示负数的设计)来表示计算机的底层数据,就确保了正(加上0后)、负数分布的均衡。
所以为什么有符号的最大8位数是01111111=127,最小八位数是10000000=-128。为什么要这么设计?就是这么来的,体现了数学的对称美。
声明:本节知识原出处在CSAPP第45页[下附原图],本人仅仅对之应用生活。
💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖
热门专栏推荐
🌈🌈计算机科学入门系列 关注走一波💕💕
🌈🌈CSAPP深入理解计算机原理 关注走一波💕💕
🌈🌈微服务项目之黑马头条 关注走一波💕💕
🌈🌈redis深度项目之黑马点评 关注走一波💕💕
🌈🌈JAVA面试八股文系列专栏 关注走一波💕💕
🌈🌈JAVA基础试题集精讲 关注走一波💕💕
🌈🌈代码随想录精讲200题 关注走一波💕💕
总栏
🌈🌈JAVA基础要夯牢 关注走一波💕💕
🌈🌈JAVA后端技术栈 关注走一波💕💕
🌈🌈JAVA面试八股文 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析) 关注走一波💕💕
🌈🌈计算机四件套 关注走一波💕💕
🌈🌈数据结构与算法 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总 关注走一波💕💕
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!