PageSourceSearch

https://www.yejinblok.cn/posts/51509cba.html

html yejinblok.cn collected 2026-10-04 01:40:50 UTC 176,409 bytes, 1,894 lines download raw bytes

1<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"><title>计算机应用基础笔记(一) | 吮指原味姬</title><meta name="keywords" content="笔记,计算机"><meta name="author" content="新奥尔良姬翅"><meta name="copyright" content="新奥尔良姬翅"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#f7f9fe"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-touch-fullscreen" content="yes"><meta name="apple-mobile-web-app-title" content="计算机应用基础笔记(一)"><meta name="application-name" content="计算机应用基础笔记(一)"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="#f7f9fe"><meta property="og:type" content="article"><meta property="og:title" content="计算机应用基础笔记(一)"><meta property="og:url" content="https://www.yejinblok.cn/posts/51509cba.html"><meta property="og:site_name" content="吮指原味姬"><meta property="og:description" content="计算机应用基础笔记留存"><meta property="og:locale" content="zh-CN"><meta property="og:image" content="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp"><meta property="article:author" content="新奥尔良姬翅"><meta property="article:tag" content="anzhiyu,游戏,碧蓝航线,代码,博客,Butterfly,Hexo"><meta name="twitter:card" content="summary"><meta name="twitter:image" content="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp"><link rel="shortcut icon" href="https://img01.anheyu.com/useruploads/243/2023/08/01/64c8b3dea71a8.ico"><link rel="canonical" href="https://www.yejinblok.cn/posts/51509cba"><link rel="preconnect" href="//npm.elemecdn.com"/><link rel="preconnect" href="//npm.onmicrosoft.cn"/><meta name="google-site-verification" content="xxx"/><meta name="baidu-site-verification" content="code-xxx"/><meta name="bing-site-verification" content="51a4f9ae13d74294a356a2981f6f310d"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.cbd.int/@fortawesome/[email protected]/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.cbd.int/[email protected]/dist/snackbar.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.cbd.int/@fancyapps/[email protected]/dist/fancybox/fancybox.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://npm.elemecdn.com/[email protected]/swiper/swiper.min.css" media="print" onload="this.media='all'">
1<script>const GLOBAL_CONFIG = { 
2  root: '/',
3  preloader: {"source":3},
4  friends_vue_info: {"apiurl":"https://fcircle.yejinblok.cn/"},
5  navMusic: true,
6  mainTone: undefined,
7  authorStatus: {"skills":["🤖️ 数码爱好者","😺 重度猫猫控","🏠 喜欢宅在家","🔨 开发小萌新","📔 热衷探究历史","💓 无法拒绝可爱的事物","🧱 践踏各种困难","💢 话多人不狠"]},
8  algolia: {"appId":"UJ37ZOY1BW","apiKey":"1a54e497b474898b007dc842a2f31082","indexName":"algolia","hits":{"per_page":6},"languages":{"input_placeholder":"键入后按下回车搜索!","hits_empty":"找不到您查询的内容:${query}","hits_stats":"找到 ${hits} 条结果,用时 ${time} 毫秒"}},
9  localSearch: undefined,
10  translate: {"defaultEncoding":2,"translateDelay":0,"msgToTraditionalChinese":"繁","msgToSimplifiedChinese":"简","rightMenuMsgToTraditionalChinese":"转为繁体","rightMenuMsgToSimplifiedChinese":"转为简体"},
11  noticeOutdate: {"limitDay":90,"position":"top","messagePrev":"该内容距离上次更新已经过了","messageNext":"天,文章内容可能已经过时。"},
12  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":330},
13  copy: {
14    success: '复制成功',
15    error: '复制错误',
16    noSupport: '浏览器不支持'
17  },
18  relativeDate: {
19    homepage: true,
20    simplehomepage: false,
21    post: true
22  },
23  runtime: '天',
24  date_suffix: {
25    just: '刚刚',
26    min: '分钟前',
27    hour: '小时前',
28    day: '天前',
29    month: '个月前'
30  },
31  copyright: {"limitCount":100,"languages":{"author":"作者: 新奥尔良姬翅","link":"链接: ","source":"来源: 吮指原味姬","info":"著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。"}},
32  lightbox: 'fancybox',
33  Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式🌚","night_to_day":"你已切换为浅色模式🌞","bgLight":"#fec4d9","bgDark":"#00c4b6","position":"top-center"},
34  source: {
35    justifiedGallery: {
36      js: 'https://cdn.cbd.int/[email protected]/dist/fjGallery.min.js',
37      css: 'https://cdn.cbd.int/[email protected]/dist/fjGallery.css'
38    }
39  },
40  isPhotoFigcaption: false,
41  islazyload: true,
42  isAnchor: false,
43  shortcutKey: false
44}</script>
44<script id="config-diff">var GLOBAL_CONFIG_SITE = {
45  title: '计算机应用基础笔记(一)',
46  isPost: true,
47  isHome: false,
48  isHighlightShrink: false,
49  isToc: true,
50  postUpdate: '2023-08-30 15:04:38',
51  postMainColor: '',
52}</script>
52<noscript><style type="text/css">
53  #nav {
54    opacity: 1
55  }
56  .justified-gallery img {
57    opacity: 1
58  }
59
60  #recent-posts time,
61  #post-meta time {
62    display: inline !important
63  }
64</style></noscript>
64<script>(win=>{
65    win.saveToLocal = {
66      set: function setWithExpiry(key, value, ttl) {
67        if (ttl === 0) return
68        const now = new Date()
69        const expiryDay = ttl * 86400000
70        const item = {
71          value: value,
72          expiry: now.getTime() + expiryDay,
73        }
74        localStorage.setItem(key, JSON.stringify(item))
75      },
76
77      get: function getWithExpiry(key) {
78        const itemStr = localStorage.getItem(key)
79
80        if (!itemStr) {
81          return undefined
82        }
83        const item = JSON.parse(itemStr)
84        const now = new Date()
85
86        if (now.getTime() > item.expiry) {
87          localStorage.removeItem(key)
88          return undefined
89        }
90        return item.value
91      }
92    }
93  
94    win.getScript = url => new Promise((resolve, reject) => {
95      const script = document.createElement('script')
96      script.src = url
97      script.async = true
98      script.onerror = reject
99      script.onload = script.onreadystatechange = function() {
100        const loadState = this.readyState
101        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
102        script.onload = script.onreadystatechange = null
103        resolve()
104      }
105      document.head.appendChild(script)
106    })
107  
108    win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
109      const link = document.createElement('link')
110      link.rel = 'stylesheet'
111      link.href = url
112      if (id) link.id = id
113      link.onerror = reject
114      link.onload = link.onreadystatechange = function() {
115        const loadState = this.readyState
116        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
117        link.onload = link.onreadystatechange = null
118        resolve()
119      }
120      document.head.appendChild(link)
121    })
122  
123      win.activateDarkMode = function () {
124        document.documentElement.setAttribute('data-theme', 'dark')
125        if (document.querySelector('meta[name="theme-color"]') !== null) {
126          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#18171d')
127        }
128      }
129      win.activateLightMode = function () {
130        document.documentElement.setAttribute('data-theme', 'light')
131        if (document.querySelector('meta[name="theme-color"]') !== null) {
132          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#f7f9fe')
133        }
134      }
135      const t = saveToLocal.get('theme')
136    
137          const now = new Date()
138          const hour = now.getHours()
139          const isNight = hour <= 6 || hour >= 18
140          if (t === undefined) isNight ? activateDarkMode() : activateLightMode()
141          else if (t === 'light') activateLightMode()
142          else activateDarkMode()
143        
144      const asideStatus = saveToLocal.get('aside-status')
145      if (asideStatus !== undefined) {
146        if (asideStatus === 'hide') {
147          document.documentElement.classList.add('hide-aside')
148        } else {
149          document.documentElement.classList.remove('hide-aside')
150        }
151      }
152    
153    const detectApple = () => {
154      if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
155        document.documentElement.classList.add('apple')
156      }
157    }
158    detectApple()
159    })(window)</script>
159<!-- hexo injector head_end start --><link rel="stylesheet" href="https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu/lib/clock.min.css" /><link rel="stylesheet" href="https://npm.elemecdn.com/hexo-butterfly-wowjs/lib/animate.min.css" media="print" onload="this.media='screen'"><!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head><body data-type="anzhiyu"><div id="web_bg"></div><div id="an_music_bg"></div><div id="loading-box" onclick="document.getElementById(&quot;loading-box&quot;).classList.add(&quot;loaded&quot;)"><div class="loading-bg"><img class="loading-img nolazyload" alt="加载头像" src="https://img01.anheyu.com/useruploads/243/2023/08/19/64e046dc41528.gif"/><div class="loading-image-dot"></div><div id="loading-percentage">0%</div></div></div>
159<script>if (GLOBAL_CONFIG.preloader.source == "2" || GLOBAL_CONFIG.preloader.source == "3") {
160  const loadingPercentage = document.getElementById("loading-percentage");
161  let loadingPercentageTimer = setInterval(function() {
162    var progressBar = document.querySelector(".pace-progress");
163    if (!progressBar) return
164    var currentValue = progressBar.getAttribute("data-progress-text");
165    if (currentValue !== loadingPercentage.textContent) {
166      loadingPercentage.textContent = currentValue;
167      if (currentValue === "100%") {
168        clearInterval(loadingPercentageTimer);
169      }
170    }
171  }, 100);
172}
173
174const preloader = {
175  endLoading: () => {
176    document.body.style.overflow = 'auto';
177    document.getElementById('loading-box').classList.add("loaded");
178  },
179  initLoading: () => {
180    document.body.style.overflow = '';
181    document.getElementById('loading-box').classList.remove("loaded")
182  }
183}
184window.addEventListener('load',()=> { preloader.endLoading() })
185setTimeout(function(){preloader.endLoading();},10000)
186
187if (true) {
188  document.addEventListener('pjax:send', () => { preloader.initLoading() })
189  document.addEventListener('pjax:complete', () => { preloader.endLoading() })
190}</script>
190<link rel="stylesheet" href="https://cdn.cbd.int/[email protected]/progress_bar/progress_bar.css"/>
190<script async="async" src="https://cdn.cbd.int/[email protected]/pace.min.js" data-pace-options="{ &quot;restartOnRequestAfter&quot;:false,&quot;eventLag&quot;:false}"></script>
190<div id="web_box"><div id="web_container"><div id="menu-mask"></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header"><nav id="nav"><div id="nav-group"><span id="blog_name"><div class="back-home-button"><i class="anzhiyufont anzhiyu-icon-grip-vertical"></i><div class="back-menu-list-groups"><div class="back-menu-list-group"><div class="back-menu-list-title">前往</div><div class="back-menu-list"><a class="back-menu-item" href="https://hpage.yejinblok2.top/" title="个人主页" target="_blank"><img class="back-menu-item-icon" src="https://img01.anheyu.com/useruploads/243/2023/08/01/64c8b3dea71a8.ico" alt="个人主页"/><span class="back-menu-item-text">个人主页</span></a><a class="back-menu-item" href="https://www.yejinblok.cn/" title="主域名" target="_blank"><img class="back-menu-item-icon" src="https://img01.anheyu.com/useruploads/243/2023/08/01/64c8b3dea71a8.ico" alt="主域名"/><span class="back-menu-item-text">主域名</span></a><a class="back-menu-item" href="https://www.yjtblok.top/" title="备用域名" target="_blank"><img class="back-menu-item-icon" src="https://img01.anheyu.com/useruploads/243/2023/07/28/64c319e853f6d.jpg" alt="备用域名"/><span class="back-menu-item-text">备用域名</span></a></div></div><div class="back-menu-list-group"><div class="back-menu-list-title">Tool</div><div class="back-menu-list"><a class="back-menu-item" href="https://www.yejinblok.cn/journal/" title="本站日志" target="_blank"><img class="back-menu-item-icon" src="https://img01.anheyu.com/useruploads/243/2023/08/16/64dc3b40590e5.webp" alt="本站日志"/><span class="back-menu-item-text">本站日志</span></a><a class="back-menu-item" href="https://status.yejinblok.cn/" title="站点检测" target="_blank"><img class="back-menu-item-icon" src="https://img01.anheyu.com/useruploads/243/2023/09/15/65047515ebd77.ico" alt="站点检测"/><span class="back-menu-item-text">站点检测</span></a><a class="back-menu-item" href="https://image.anheyu.com/" title="安知鱼图床" target="_blank"><img class="back-menu-item-icon" src="https://image.anheyu.com/favicon.ico" alt="安知鱼图床"/><span class="back-menu-item-text">安知鱼图床</span></a><a class="back-menu-item" href="https://www.superbed.cn/" title="聚合图床" target="_blank"><img class="back-menu-item-icon" src="https://www.superbed.cn/favicon.ico" alt="聚合图床"/><span class="back-menu-item-text">聚合图床</span></a></div></div></div></div><a id="site-name" href="/" accesskey="h"><div class="title">吮指原味姬</div><i class="anzhiyufont anzhiyu-icon-house-chimney"></i></a></span><div class="mask-name-container"><div id="name-container"><a id="page-name" href="javascript:anzhiyu.scrollToDest(0, 500)">PAGE_NAME</a></div></div><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-ghost faa-tada"></i><span> 文章</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/archives/"><i class="anzhiyufont anzhiyu-icon-box-archive faa-tada" style="font-size: 0.9em;"></i><span> 隧道</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/categories/"><i class="anzhiyufont anzhiyu-icon-shapes faa-tada" style="font-size: 0.9em;"></i><span> 分类</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/tags/"><i class="anzhiyufont anzhiyu-icon-tags faa-tada" style="font-size: 0.9em;"></i><span> 标签</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-feather faa-tada"></i><span> 社交</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/link/"><i class="anzhiyufont anzhiyu-icon-link faa-tada" style="font-size: 0.9em;"></i><span> 友人帐</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/fcircle/"><i class="anzhiyufont anzhiyu-icon-artstation faa-tada" style="font-size: 0.9em;"></i><span> 朋友圈</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/comments/"><i class="anzhiyufont anzhiyu-icon-envelope faa-tada" style="font-size: 0.9em;"></i><span> 留言板</span></a></li></ul></div><div class="menus_item">
190<a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-wrench faa-tada"></i><span> 工具</span></a><ul class="menus_item_child" style="left:-31px;"><li><a class="site-page child faa-parent animated-hover" href="/game/"><i class="fa-regular fa-gamepad faa-tada"></i><span> 小游戏</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/daohang/"><i class="fa-brands fa-chrome faa-tada"></i><span> 资源导航</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-blog faa-tada"></i><span> 我的</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/music/?id=8589095176&amp;server=netease"><i class="anzhiyufont anzhiyu-icon-music faa-tada" style="font-size: 0.9em;"></i><span> 音乐馆</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/equipment/"><i class="fa-brands fa-steam faa-tada"></i><span> 游戏玩家</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/todolist/"><i class="fa-brands fa-github-alt faa-tada"></i><span> 想做的事</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-location-dot faa-tada"></i><span> 关于</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/about/"><i class="anzhiyufont anzhiyu-icon-paper-plane faa-tada" style="font-size: 0.9em;"></i><span> 关于本人</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/essay/"><i class="anzhiyufont anzhiyu-icon-lightbulb faa-tada" style="font-size: 0.9em;"></i><span> 闲言碎语</span></a></li><li><a class="site-page child faa-parent animated-hover" href="javascript:toRandomPost()"><i class="anzhiyufont anzhiyu-icon-shoe-prints1 faa-tada" style="font-size: 0.9em;"></i><span> 随便逛逛</span></a></li></ul></div></div></div><div id="nav-right"><div class="nav-button only-home" id="travellings_button" title="随机前往一个开往项目网站"><a class="site-page" onclick="anzhiyu.totraveling()" title="随机前往一个开往项目网站" href="javascript:void(0);" rel="external nofollow" data-pjax-state="external"><i class="anzhiyufont anzhiyu-icon-train"></i></a></div><div class="nav-button" id="randomPost_button"><a class="site-page" onclick="toRandomPost()" title="随机前往一个文章" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-dice"></i></a></div><div class="nav-button" id="search-button"><a class="site-page social-icon search" href="javascript:void(0);" title="搜索🔍" accesskey="s"><i class="anzhiyufont anzhiyu-icon-magnifying-glass"></i><span> 搜索</span></a></div><input id="center-console" type="checkbox"/><label class="widget" for="center-console" title="中控台" onclick="anzhiyu.switchConsole();"><i class="left"></i><i class="widget center"></i><i class="widget right"></i></label><div id="console"><div class="console-card-group-reward"><ul class="reward-all console-card"><li class="reward-item"><a href="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e828c.jpg" target="_blank"><img class="post-qr-code-img" alt="wechat" src="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e828c.jpg"/></a><div class="post-qr-code-desc">wechat</div></li><li class="reward-item"><a href="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e5ac9.jpg" target="_blank"><img class="post-qr-code-img" alt="alipay" src="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e5ac9.jpg"/></a><div class="post-qr-code-desc">alipay</div></li></ul></div><div class="console-card-group"><div class="console-card-group-left"><div class="console-card" id="card-newest-comments"><div class="card-content"><div class="author-content-item-tips">互动</div><span class="author-content-item-title"> <span>最新评论</span></span></div><div class="aside-list"><span>正在加载中...</span></div></div></div><div class="console-card-group-right"><div class="console-card tags"><div class="card-content"><div class="author-content-item-tips">兴趣点</div><span class="author-content-item-title">寻找你感兴趣的领域</span><div class="card-tags"><div class="item-headline"></div><div class="card-tag-cloud"><a href="/tags/Hexo/" style="font-size: 1.05rem; color: rgb(200, 86, 42);">Hexo<sup>1</sup></a><a href="/tags/Tag-Plugins/" style="font-size: 1.05rem; color: rgb(143, 18, 133);">Tag Plugins<sup>1</sup></a><a href="/tags/hexo/" style="font-size: 1.05rem; color: rgb(23, 9, 66);">hexo<sup>4</sup></a><a href="/tags/live2d/" style="font-size: 1.05rem; color: rgb(33, 39, 59);">live2d<sup>1</sup></a><a href="/tags/%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/" style="font-size: 1.05rem; color: rgb(52, 59, 146);">博客搭建<sup>1</sup></a><a href="/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 1.05rem; color: rgb(107, 119, 52);">数据库<sup>
1902</sup></a><a href="/tags/%E6%97%85%E8%A1%8C/" style="font-size: 1.05rem; color: rgb(172, 136, 30);">旅行<sup>1</sup></a><a href="/tags/%E6%97%A5%E5%B8%B8%E7%94%9F%E6%B4%BB/" style="font-size: 1.05rem; color: rgb(53, 73, 116);">日常生活<sup>1</sup></a><a href="/tags/%E6%B8%B8%E6%88%8F/" style="font-size: 1.05rem; color: rgb(169, 34, 131);">游戏<sup>1</sup></a><a href="/tags/%E7%A2%A7%E8%93%9D%E8%88%AA%E7%BA%BF/" style="font-size: 1.05rem; color: rgb(155, 180, 102);">碧蓝航线<sup>1</sup></a><a href="/tags/%E7%A6%BB%E6%95%A3%E6%95%B0%E5%AD%A6/" style="font-size: 1.05rem; color: rgb(184, 113, 89);">离散数学<sup>2</sup></a><a href="/tags/%E7%AC%94%E8%AE%B0/" style="font-size: 1.05rem; color: rgb(118, 139, 89);">笔记<sup>10</sup></a><a href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA/" style="font-size: 1.05rem; color: rgb(42, 20, 37);">计算机<sup>6</sup></a></div></div><hr/></div></div><div class="console-card history"><div class="item-headline"><i class="anzhiyufont anzhiyu-icon-box-archiv"></i><span>文章</span></div><div class="card-archives"><div class="item-headline"><i class="anzhiyufont anzhiyu-icon-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/12/"><span class="card-archive-list-date">十二月 2023</span><div class="card-archive-list-count-group"><span class="card-archive-list-count">2</span><span>篇</span></div></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/10/"><span class="card-archive-list-date">十月 2023</span><div class="card-archive-list-count-group"><span class="card-archive-list-count">4</span><span>篇</span></div></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/09/"><span class="card-archive-list-date">九月 2023</span><div class="card-archive-list-count-group"><span class="card-archive-list-count">1</span><span>篇</span></div></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/08/"><span class="card-archive-list-date">八月 2023</span><div class="card-archive-list-count-group"><span class="card-archive-list-count">8</span><span>篇</span></div></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/07/"><span class="card-archive-list-date">七月 2023</span><div class="card-archive-list-count-group"><span class="card-archive-list-count">3</span><span>篇</span></div></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/06/"><span class="card-archive-list-date">六月 2023</span><div class="card-archive-list-count-group"><span class="card-archive-list-count">1</span><span>篇</span></div></a></li></ul></div><hr/></div></div></div><div class="button-group"><div class="console-btn-item"><a class="darkmode_switchbutton" onclick="anzhiyu.switchDarkMode()" title="显示模式切换" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-moon"></i></a></div><div class="console-btn-item" id="consoleHideAside" onclick="anzhiyu.hideAsideBtn()" title="边栏显示控制"><a class="asideSwitch"><i class="anzhiyufont anzhiyu-icon-arrows-left-right"></i></a></div><div class="console-btn-item on" id="consoleCommentBarrage" onclick="anzhiyu.switchCommentBarrage()" title="热评开关"><a class="commentBarrage"><i class="anzhiyufont anzhiyu-icon-message"></i></a></div><div class="console-btn-item" id="consoleMusic" onclick="anzhiyu.musicToggle()" title="音乐开关"><a class="music-switch"><i class="anzhiyufont anzhiyu-icon-music"></i></a></div></div><div class="console-mask" onclick="anzhiyu.hideConsole()" href="javascript:void(0);"></div></div><div class="nav-button" id="nav-totop"><a class="totopbtn" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i><span id="percent" onclick="anzhiyu.scrollToDest(0,500)">0</span></a></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-bars"></i></a></div></div></div></nav><div id="post-info"><div id="post-firstinfo"><div class="meta-firstline"><a class="post-meta-original">原创</a><span class="post-meta-categories"><span class="post-meta-separator"></span><i class="anzhiyufont anzhiyu-icon-inbox post-meta-icon"></i><a class="post-meta-categories" href="/categories/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">
190学习笔记</a></span><span class="article-meta tags"><a class="article-meta__tags" href="/tags/%E7%AC%94%E8%AE%B0/" tabindex="-1"> <span> <i class="anzhiyufont anzhiyu-icon-hashtag"></i>笔记</span></a><a class="article-meta__tags" href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA/" tabindex="-1"> <span> <i class="anzhiyufont anzhiyu-icon-hashtag"></i>计算机</span></a></span></div></div><h1 class="post-title">计算机应用基础笔记(一)</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="anzhiyufont anzhiyu-icon-calendar-days post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2023-08-01T09:22:40.000Z" title="发表于 2023-08-01 17:22:40">2023-08-01</time><span class="post-meta-separator"></span><i class="anzhiyufont anzhiyu-icon-history post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2023-08-30T07:04:38.985Z" title="更新于 2023-08-30 15:04:38">2023-08-30</time></span></div><div class="meta-secondline"><span class="post-meta-separator"></span><span class="post-meta-wordcount"><i class="anzhiyufont anzhiyu-icon-file-word post-meta-icon" title="文章字数"></i><span class="post-meta-label" title="文章字数">字数总计:</span><span class="word-count" title="文章字数">4.9k</span><span class="post-meta-separator"></span><i class="anzhiyufont anzhiyu-icon-clock post-meta-icon" title="阅读时长"></i><span class="post-meta-label" title="阅读时长">阅读时长:</span><span>15分钟</span></span><span class="post-meta-separator">       </span><span class="post-meta-position" title="作者IP属地为南京"><i class="anzhiyufont anzhiyu-icon-location-dot"></i>南京</span></div></div></div><section class="main-hero-waves-area waves-area"><svg class="waves-svg" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"><defs><path id="gentle-wave" d="M -160 44 c 30 0 58 -18 88 -18 s 58 18 88 18 s 58 -18 88 -18 s 58 18 88 18 v 44 h -352 Z"></path></defs><g class="parallax"><use href="#gentle-wave" x="48" y="0"></use><use href="#gentle-wave" x="48" y="3"></use><use href="#gentle-wave" x="48" y="5"></use><use href="#gentle-wave" x="48" y="7"></use></g></svg></section><div id="post-top-cover"><img class="nolazyload" id="post-top-bg" src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp"></div></header><main class="layout" id="content-inner"><div id="post"><div class="post-ai-description"><div class="ai-title"><i class="anzhiyufont anzhiyu-icon-bilibili"></i><div class="ai-title-text">AI-摘要</div><div id="ai-Toggle">切换</div><i class="anzhiyufont anzhiyu-icon-arrow-rotate-right"></i><div id="ai-tag">Tianli GPT</div></div><div class="ai-explanation">AI初始化中...</div><div class="ai-btn-box"><div class="ai-btn-item">介绍自己</div><div class="ai-btn-item">生成本文简介</div><div class="ai-btn-item">推荐相关文章</div><div class="ai-btn-item">前往主页</div><div class="ai-btn-item" id="go-tianli-blog">前往tianli博客</div></div>
190<script data-pjax>(function(){
191  // 当前随机到的ai摘要到index
192  let lastAiRandomIndex = -1;
193  let animationRunning = true; // 标志变量,控制动画函数的运行
194  // 当前gpt模式
195  let mode = "tianli"
196  // 刷新点击次数
197  let refreshNum = 0
198  // 记录上一次传递给aiAbstract的参数
199  let prevParam;
200  const aiTitleRefreshIcon = document.querySelector(".ai-title .anzhiyufont.anzhiyu-icon-arrow-rotate-right")
201  const explanation = document.querySelector(".ai-explanation");
202  const post_ai = document.querySelector(".post-ai-description");
203  let ai_str = "";
204  let ai_str_length = "";
205  let delay_init = 600;
206  let i = 0;
207  let j = 0;
208  let sto = [];
209  let elapsed = 0;
210  const animate = timestamp => {
211    if (!animationRunning) {
212      return; // 动画函数停止运行
213    }
214    if (!animate.start) animate.start = timestamp;
215    elapsed = timestamp - animate.start;
216    if (elapsed >= 20) {
217      animate.start = timestamp;
218      if (i < ai_str_length - 1) {
219        let char = ai_str.charAt(i + 1);
220        let delay = /[,.,。!?!?]/.test(char) ? 150 : 20;
221        if (explanation.firstElementChild) {
222          explanation.removeChild(explanation.firstElementChild);
223        }
224        explanation.innerHTML += char;
225        let div = document.createElement("div");
226        div.className = "ai-cursor";
227        explanation.appendChild(div);
228        i++;
229        if (delay === 150) {
230          document.querySelector(".ai-explanation .ai-cursor").style.opacity = "0";
231        }
232        if (i === ai_str_length - 1) {
233          observer.disconnect(); // 暂停监听
234          explanation.removeChild(explanation.firstElementChild);
235        }
236        sto[0] = setTimeout(() => {
237          requestAnimationFrame(animate);
238        }, delay);
239      }
240    } else {
241      requestAnimationFrame(animate);
242    }
243  };
244  const observer = new IntersectionObserver(
245    entries => {
246      let isVisible = entries[0].isIntersecting;
247      animationRunning = isVisible; // 标志变量更新
248      if (animationRunning) {
249        delay_init = i === 0 ? 200 : 20;
250        sto[1] = setTimeout(() => {
251          if (j) {
252            i = 0;
253            j = 0;
254          }
255          if (i === 0) {
256            explanation.innerHTML = ai_str.charAt(0);
257          }
258          requestAnimationFrame(animate);
259        }, delay_init);
260      }
261    },
262    { threshold: 0 }
263  );
264  function clearSTO() {
265    if (sto.length) {
266      sto.forEach(item => {
267        if (item) {
268          clearTimeout(item);
269        }
270      });
271    }
272  }
273  function startAI(str, df = true) {
274    i = 0; //重置计数器
275    j = 1;
276    clearSTO();
277    animationRunning = false;
278    elapsed = 0;
279    observer.disconnect(); // 暂停上一次监听
280    explanation.innerHTML = df ? "生成中. . ." : "请等待. . .";
281    ai_str = str;
282    ai_str_length = ai_str.length;
283    observer.observe(post_ai); //启动新监听
284  }
285
286  async function aiAbstract(num = 1000) {
287    i = 0; //重置计数器
288    j = 1;
289    clearSTO();
290    animationRunning = false;
291    elapsed = 0;
292    observer.disconnect(); // 暂停上一次监听
293    if (mode === "tianli") {
294      num = Math.max(10, Math.min(2000, num));
295      const options = {
296        key: "3fb6d1f5f9e5f0a7da90",
297        Referer: "https://www.yejinblok.cn/"
298      };
299      const truncateDescription = ("计算机应用基础笔记(一)" + "计算机硬件, 计算机基本信息, 集成电路(IC), PC主机的组成, 常用输入设备, 常用输出设备, 外存储器(外存), 信息在计算机中的表示, 补充本文是博主在备考时整理的一些笔记内容若存在错误可在评论区指正非常感谢系列笔记导航计算机应用基础笔记一计算机应用基础笔记二计算机应用基础笔记三计算机应用基础笔记四计算机硬件计算机基本信息现代计算机硬件组成内存外存输入输出设备通过总线相连主机内存总线外围设备输入设备输出设备外存储器磁卡条形码卡的扫描器阅读器为输入设备用于输入文字符号硬盘盘光盘不是输入设备它们都是外部存储设备不论输入设备的信息原始形态如何输入到计算机的信息都用二进位表示输出设备将计算机中的二进位信息转换成人可识别的形式文字图形符号等现代计算机一般包含有多个微处理器是用与执行系统软件和应用软件的处理器但是处理器处理器却不一定是存储器功能储存以二进制形式表示的程序和数据存储器分类能否直接访问分类内存外存存取速度很快较慢存储容量较小很大性质断电后信息消失断电后信息保存用途存放已经启动运行的程序和需要立即处理的数据长期存放计算机系统中几乎所有的信息与关系能直接访问先送内存然后才能访问小结任何程
299序只有在内存中才能运行总线功能用于连接内存外存控制器和各种设备的控制器并在他们之间传输信息的一组共享的传输线及其控制电路分类处理器总线总线存储器总线系统总线和外部总线系统总线总线连接内存和控制器的总线设备通过接口与各自的控制器相连也通过各自的控制器与总线相连总线带宽不是总线宽度带宽是指单位时间内传送的数据量的逻辑结构由运算器控制器存储器三部分组成是运算器和控制器的总称冯诺依曼计算机结构与原理存储程序控制原理也是现代计算机的工作原理计算机的工作由程序控制程序是一个指令序列指令是能被计算机理解和执行的操作命令程序和数据均以二进制编码表示均存放在存储器中关于指令指令是构成程序的基本单位由操作码和操作数组成其中操作码决定了操作数的数量操作码必须有后者可以没有指令的执行过程取指令指令译码执行指令保存可执行的全部指令称为的指令系统所以机器语言就是指令系统如何衡量计算机和的性能计算机的性能主要表现为程序执行速度的快慢计算机性能由许多因素决定内存硬盘显卡通常为主要因素的性能高低主要表现为的速度两种方法详细见下文计算每秒可执行的指令数目单位大多使用软件测试性能影响性能的主要因素字长位数指通用寄存器和定点运算器的宽度通常为的倍数位字长越长运行程序的速度越快关于字长计算机最小的存储单位字节若计算机字长为个字节泽定点运算器和寄存器为位指令系统逻辑结构高速缓存的容量和结构越大命中率越高有利于发挥工作效率主频内部时钟频率单位一般为主频越高执行一条指令的时间越少运行程序的速度越快总线速率总线速率越高等待从内存取指令和数据时间越少运行程序速度越快小结提高性能的措施扩展的字长位位扩充的指令系统提高主频从提升至以上目前最高已接近加快前端总线的数据传输速率增大高速缓存容量增加级数改进的内部逻辑结构采用多内核结构集成电路微电子技术的核心是集成电路发展与计算机类似电子管晶体管中小规模集成电路超大规模集成电路集成电路的特点体积小重量轻功耗小成本低速度快可靠性高摩尔定律单块集成电路的集成度平均每个月翻一番摩尔定律不可能永远成立集成电路按用途分为通用集成电路芯片存储芯片等专用集成电路手机芯片洗衣机芯片数码相机芯片等集成电路按功能分为数字集成电路和模拟集成电路集成电路按晶体管结构电路和工艺分为双极性电路金属氧化物半导体电路卡集成电路卡它把集成电路密封在塑料卡基片内使其成为存储信息处理和传递数据的载体卡的分类按芯片分类存储器卡信息可长期保存也可通过读卡器改写用于安全性要求不高的场合如电话卡公交卡医疗卡等卡处理能力强保密性能好常用作证件和信用卡使用手机的卡就是一种特殊的卡卡自带操作系统卡的分类按使用方式分类接触式卡如电话卡使用时须将卡插入读卡机用于信息量大读写操作复杂的场合但易磨损怕脏寿命较短非接触式卡如射频卡公交卡等感应卡操作方便快捷采用全密封胶固化使用寿命长一般用于读写信息较简单的场合双界面卡同时兼备接触和非接触两种界面通信的多功能卡主机的组成主板又称母板计算机最重要的部件之一作用安装所有的电子器件电路与连接件组成一般有组件控制芯片键盘和面板控制开关接口指示灯连接件等芯片组是主板电路的核心部件功能主要是存储控制和控制作用是机各组成部分相互链接和通信的枢纽实现了系统总线功能组成由南桥芯片控制中心和北桥芯片存储控制中心组成的时钟信号由芯片组提供主板的功能性能由芯片组决定任何有相同芯片组的主板其功能性能特性大致相同由于集成电路集成度越来越高为降低版本芯片组继承了越来越多的功能包括网卡显卡声卡功能中文名基本输入输出系统它是存放在主板上å
299ªè¯»å­˜å‚¨å™¨èŠ¯ç‰‡ä¸­çš„ä¸€ç»„æœºå™¨è¯­è¨€ç¨‹åºå±žäºŽç³»ç»Ÿè½¯ä»¶ç‰¹ç‚¹æ–­ç”µåŽä¿å­˜çš„ä¿¡æ¯ä¸ä¼šæ¶ˆå¤±åŠŸèƒ½è¯Šæ–­è®¡ç®—æœºæ•…éšœå¯åŠ¨è®¡ç®—æœºå·¥ä½œæŽ§åˆ¶åŸºæœ¬å¤–è®¾è¾“å…¥è¾“å‡ºæ“ä½œèŠ¯ç‰‡ä¸­åŒ…å«çš„ç¨‹åºåŠ ç”µè‡ªæ£€ç¨‹åºç”¨äºŽæ£€æµ‹è®¡ç®—æœºç¡¬ä»¶æ•…éšœç³»ç»Ÿè‡ªä¸¾ç¨‹åºä»Žå¤–å­˜ä¸­è¯»å…¥å¼•å¯¼ç¨‹åºå®Œæˆæ“ä½œç³»ç»Ÿå¯åŠ¨è®¾ç½®ç¨‹åºå¸¸ç”¨å¤–éƒ¨è®¾å¤‡çš„é©±åŠ¨ç¨‹åºç‰¹ç‚¹æ˜¯æ˜“å¤±æ€§å­˜å‚¨å™¨åœç”µåŽç”±ä¸»æ¿ä¸Šçš„çº½æ‰£ç”µæ± ä¾›ç”µå¦åˆ™æ•°æ®ä¼šä¸¢å¤±åªå­˜æ”¾ä¸€äº›åŸºæœ¬æ•°æ®ä¸æ”¾ç¨‹åºå†…å­˜å‚¨å™¨å†…å­˜æ•°æ®ä¼ è¾“çŽ‡è®¡ç®—æ•°æ®ä¼ è¾“çŽ‡å³å†…å­˜å¸¦å®½åªå•ä½æ—¶é—´é€šè¿‡å†…å­˜çš„æ•°æ®é‡ä»¥è¡¨ç¤ºè®¡ç®—å…¬å¼å†…å­˜å¸¦å®½å·¥ä½œé¢‘çŽ‡ä½å®½å†…å­˜ç§ç±»åŽè€…æ˜¯å‰è€…é€Ÿåº¦çš„ä¸¤å€æŽ§åˆ¶ä¸ŽæŽ¥å£è¾“å…¥ä»»åŠ¡å°†è¾“å…¥è®¾å¤‡çš„è¾“å…¥ä¿¡æ¯é€åˆ°å†…å­˜å‚¨å™¨çš„æŒ‡å®šåŒºåŸŸè¾“å‡ºä»»åŠ¡å°†å†…å­˜å‚¨å™¨çš„æŒ‡å®šå†…å®¹é€å‡ºåˆ°è¾“å‡ºè®¾å¤‡æ“ä½œç‰¹ç‚¹æ“ä½œè®¾å¤‡å·¥ä½œé€Ÿåº¦æ¯”æ…¢çš„å¤šå› æ­¤æ“ä½œä¸Žçš„è¿ç®—å¯åŒæ—¶è¿›è¡Œå¤šä¸ªè®¾å¤‡æ“ä½œä¹Ÿå¯åŒæ—¶è¿›è¡Œå·¥ä½œç¢Žç¢Žå¿µé‚£æ˜¯å½“ç„¶çš„å–½ä¸ç„¶ä½ é”®ç›˜é¼ æ ‡ä¸€æ¬¡åªèƒ½ç”¨ä¸€æ ·è¿˜å¾—äº†ç¬‘æ¯ç±»è®¾å¤‡éƒ½æœ‰å„è‡ªçš„æŽ§åˆ¶å™¨ç‹¬ç«‹æŽ§åˆ¶æ“ä½œå…¨è¿‡ç¨‹å­˜å‚¨å™¨é€Ÿ
299度由快到慢寄存器存储器主存储器外存储器后备存储器设备通过接口与主机相连设备通过接口与控制器相连设备通过控制器与总线相连常用输入设备键盘有机械式早期使用和电容式目前主流采用的接口类型接口接口无线接口鼠标器按键功能由正在运行的软件决定有机电式鼠标和光电型鼠标目前主流采用的接口类型同键盘扫描仪作用将原稿照片图片书稿输入到计算机输入到计算机的是原稿的图像在专业排版领域使用最广泛的扫描仪胶片扫描仪和滚筒扫描仪扫描仪主要性能指标光学分辨率色彩位数扫描幅面与主机的接口类型数码相机数字摄像头笔输入设备常用输出设备显示器工作原理将数字信号转换为光信号使文字和图像在屏幕上显示出来分类阴极射线管显示器液晶显示器显卡分类集成显卡还有人用集显打游戏独立显卡比如你最喜欢的一般使用接口打印机分类针式打印机又称击打式打印机激光打印机喷墨打印机这两又统称为非击打式打印机针式打印机工作原理钢针垂直排列每次击打打印一个字符的一列有争议有观点说是一排一般用于银行证券邮电商业等打印存折和票据等激光打印机工作原理激光技术和复印技术的结合注不是打印技术一般用于办公室和家庭使用喷墨打印机打印机性能指标打印精度分辨率单位为打印速度页数分钟单位色彩表现能力打印幅面打印成本外存储器外存硬盘由磁道和扇区组成功能长期保存二进制信息特点可读可写容量很大可靠性高成本极低分类机械硬盘固态硬盘移动硬盘点我预览这里有张图片机械和固态最主要区别固态存取速度比机械要快接口类型前些年使用并行接口当前流行串行接口盘存储卡盘属于半导体集成电路存储器采用接口说了句废话存储卡原理与盘相同采用印刷接口光盘存储器分类红外光红光大于等于蓝光大于等于信息在计算机中的表示比特中文译为二进制数字二进位简称位用小写字母表示比特只有两种取值三无无重量无颜色无大小比特是组成数字信息的最小单位内存换算外存换算外存储器容量常用的幂次来计算比特的传输传输速率表示每秒钟可传输的二进位数目常用单位比特秒也称如千比特秒常用进制十进制标志尾部加或缺省例二进制标志尾部加例八进制标志尾部加十六进制标志尾部加例不同进制间的相互转换十进制转二进制整数部分除以逆序取余小数部分乘以顺序取整二进制转八进制和十六进制偷个懒直接上图吧整数编码表示无符号整数的表示采用自然码表示直接二进制展开取值范围位无符号整数的表示范围是无符号位二进制表示范围无符号位原码表示范围无符号位补码表示范围无符号位反码表示范围重要规律若一个十进制数是则化成二进制数则是个后面有个其值为看晕了没事我也晕了可是这玩意就是很重要原码反码与补码符号位为表示正数为表示负数原码正数的原码等于反码等于补码反码对正数来说其反码和原码形式相同对负数来说反码为其原码数值部分各位取反符号位不变例的反码符号位不变其余位取反补码正数的补码为其本身补码的补码即为原码负数如何用补码表示先把绝对值表示为自然码将自然码每一位取反码在最低位加上例子用位补码表示转换成二进制原码为取反码加一在原码和反码中有两种表示在补码中只有一种表示方式补码运算时要注意的问题补码运算时其符号位与数值部分一起参与运算补码的符号位相加后如果有进位出现要把这个进位舍去自然丢失用补码运算其结果亦为补码在转换为真值时其符号位为数位不变若符号位为应将结果求补才是其真值补充二进制的表示逻辑真用表示假用表示逻辑乘法逻辑与运算运算符运算规则按位运算全为否则为逻辑加法逻辑或运算运算符运算规则按位运算全为否则为逻辑否定逻辑非运算运算符运算规则按位运算取反为取反为异或è¿
299ç®—运算符运算规则相同为否则为计算机使用二进制的原因之一是具有个稳定状态的电子器件比较容易制造定点数和浮点数定点数可以表示整数或小数由小数点的位置决定浮点数纯小数部分尾部越长精度越高半导体存储器分为和又分为静态随机和动态随机不需要刷新每刷新一次读写速度较快读写速度较慢电路相对复杂电路相对简单集成度低集成度高能耗低能耗高成本较高成本较低一般用于存储器一般用于主存硬盘的主要由组成计算机启动顺序自举程序引导程序操作系统只读限写一次可写多次可擦写硬盘中不同磁道上所有扇区能存储的数据量是相同的存取密度不同左移与右移左移表示扩大每左移位就是原来的倍为进制基数逻辑左移与算术左移都是在末尾添右移表示缩小每右移位就是原来的倍为进制基数逻辑右移右移后左边补算术右移右移后左边补对应符号位软件容量的计算软件容量磁道数扇区数盘面数每扇区存区数内存寻址范围取决于地址线位数的多少可寻址空间为也算所以可寻址范围为地址总线的位数直接决定了可直接寻址的空间大小硬盘的平均等待时间计算公式磁盘旋转一圈时间的一半转速平均存取时间寻道时间旋转等待时间数据传输时间硬盘上的一个扇区要用三个参数进行定位分别是柱面号磁头号扇区号通信技术主要用于扩展人的神经系统传递信息的功能指令计数器用来存取正在执行指令的地址指令寄存器用来保存当前正在执行的指令集成度分类由小到极大南桥控制中心北桥存储控制中心中的数据是内存的映射机中管理设备运行全过程是控制器磁道是由里向外的同心圆每个同心圆是一个磁道十进制转二进制无法实现精确转换用线接口用线接口操作系统管理用户数据的单位是文件").trim().substring(0, num)
300
301      const queryParams = `key=${options.key}&content=${truncateDescription}`;
302      const requestOptions = {
303        method: "GET",
304        headers: {
305          "Content-Type": "application/json",
306          Referer: options.Referer
307        },
308      };
309      try {
310        let animationInterval = null
311        if (animationInterval) clearInterval(animationInterval);
312        animationInterval = setInterval(() => {
313          const animationText = "生成中" + ".".repeat(j);
314          explanation.innerHTML = animationText;
315          j = (j % 3) + 1; // 在 1、2、3 之间循环
316        }, 500);
317        const response = await fetch(`https://summary.tianli0.top/?${queryParams}`, requestOptions);
318        let result;
319        if (response.status === 403) {
320          result = {
321            summary: "403 refer与key不匹配,本地无法显示。"
322          }
323        } else if (response.status === 500) {
324          result = {
325            summary: "500 系统内部错误"
326          }
327        } else {
328          result = await response.json();
329        }
330        const summary = result.summary.trim();
331        setTimeout(() => {
332          aiTitleRefreshIcon.style.opacity = "1";
333        }, 300)
334        startAI(summary);
335        clearInterval(animationInterval)
336      } catch (error) {
337        console.error(error);
338        explanation.innerHTML = "发生异常" + error;
339      }
340    } else {
341      const strArr = "true".split(",").map(item => item.trim()); // 将字符串转换为数组,去除每个字符串前后的空格
342      if (strArr.length !== 1) {
343        let randomIndex = Math.floor(Math.random() * strArr.length); // 随机生成一个索引
344        while (randomIndex === lastAiRandomIndex) { // 如果随机到了上次的索引
345          randomIndex = Math.floor(Math.random() * strArr.length); // 再次随机
346        }
347        lastAiRandomIndex = randomIndex; // 更新上次随机到的索引
348        startAI(strArr[randomIndex]);
349      } else {
350        startAI(strArr[0])
351      }
352      setTimeout(() => {
353        aiTitleRefreshIcon.style.opacity = "1";
354      }, 600)
355    }
356  }
357
358  function aiRecommend() {
359    i = 0; //重置计数器
360    j = 1;
361    clearSTO();
362    animationRunning = false;
363    elapsed = 0;
364    explanation.innerHTML = "生成中. . .";
365    ai_str = "";
366    ai_str_length = "";
367    observer.disconnect(); // 暂停上一次监听
368    sto[2] = setTimeout(() => {
369      explanation.innerHTML = recommendList();
370    }, 600);
371  }
372  function aiGoHome() {
373    startAI("正在前往博客主页...", false);
374    sto[2] = setTimeout(() => {
375      pjax.loadUrl("/");
376    }, 1000);
377  }
378  const ai_btn_item = document.querySelectorAll(".ai-btn-item");
379  function Introduce() {
380    if (mode == "tianli") {
381      startAI("我是文章辅助AI: TianliGPT,点击下方的按钮,让我生成本文简介、推荐相关文章等。")
382    } else {
383      startAI("我是文章辅助AI: AnZhiYu GPT,点击下方的按钮,让我生成本文简介、推荐相关文章等。")
384    }
385  }
386  function aiTitleRefreshIconClick() {
387    aiTitleRefreshIcon.click()
388  }
389  const aiFunctions = [Introduce, aiTitleRefreshIconClick, aiRecommend, aiGoHome];
390  ai_btn_item.forEach((item, index) => {
391    item.addEventListener("click", () => {
392      aiFunctions[index]();
393    });
394  });
395
396  function recommendList() {
397    let thumbnail = document.querySelectorAll('.relatedPosts-list a');
398    if (!thumbnail.length) {
399      const cardRecentPost = document.querySelector('.card-widget.card-recent-post'); 
400      if (!cardRecentPost) return '';
401
402      thumbnail = cardRecentPost.querySelectorAll('.aside-list-item a');
403
404      let list = '';
405      for (let i = 0; i < thumbnail.length; i++) {
406        const item = thumbnail[i];
407        list += `<div class="ai-recommend-item"><span class="index">${i + 1}:</span><a href="javascript:;" onclick="pjax.loadUrl('${item.href}')" title="${item.title}" data-pjax-state="">${item.title}</a></div>`;
408      }
409      
410      return `很抱歉,无法找到类似的文章,你也可以看看本站最新发布的文章:<br /><div class="ai-recommend">${list}</div>`;
411    }
412
413    let list = '';
414    for (let i = 0; i < thumbnail.length; i++) {
415      const item = thumbnail[i];
416      list += `<div class="ai-recommend-item"><span>推荐${i + 1}:</span><a href="javascript:;" onclick="pjax.loadUrl('${item.href}')" title="${item.title}" data-pjax-state="">${item.title}</a></div>`;
417    }
418
419    return `推荐文章:<br /><div class="ai-recommend">${list}</div>`;
420  }
421
422
423  function changeShowMode() {
424    if (mode === "tianli") {
425      mode = "local";
426      document.getElementById("ai-tag").innerHTML = "AnZhiYu GPT";
427      aiAbstract(1000);
428    } else {
429      mode = "tianli";
430      document.getElementById("ai-tag").innerHTML = "Tianli GPT";
431
432      const truncateDescription = ("" + "计算机硬件, 计算机基本信息, 集成电路(IC), PC主机的组成, 常用输入设备, 常用输出设备, 外存储器(外存), 信息在计算机中的表示, 补充本文是博主在备考时整理的一些笔记内容若存在错误可在评论区指正非常感谢系列笔记导航计算机应用基础笔记一计算机应用基础笔记二计算机应用基础笔记三计算机应用基础笔记四计算机硬件计算机基本信息现代计算机硬件组成内存外存输入输出设备通过总线相连主机内存总线外围设备输入设备输出设备外存储器磁卡条形码卡的扫描器阅读器为输入设备用于输入文字符号硬盘盘光盘不是输入设备它们都是外部存储设备不论输入设备的信息原始形态如何输入到计算机的信息都用二进位表示输出设备将计算机中的二进位信息转换成人可识别的形式文字图形符号等现代计算机一般包含有多个微处理器是用与执行系统软件和应用软件的处理器但是处理器处理器却不一定是存储器功能储存以二进制形式表示的程序和数据存储器分类能否直接访问分类内存外存存取速度很快较慢存储容量较小很大性质断电后信息消失断电后信息保存用途存放已经启动运行的程序和需要立即处理的数据长期存放计算机系统中几乎所有的信息与关系能直接访问先送内存然后才能访问小结任何程序只有在内存中才能运行总线功能用于连接内存外存控制器和各种设备的控制器并在他们之间传输信息的一组共享的传输线及其控制电路分类处理器总线总线存
432储器总线系统总线和外部总线系统总线总线连接内存和控制器的总线设备通过接口与各自的控制器相连也通过各自的控制器与总线相连总线带宽不是总线宽度带宽是指单位时间内传送的数据量的逻辑结构由运算器控制器存储器三部分组成是运算器和控制器的总称冯诺依曼计算机结构与原理存储程序控制原理也是现代计算机的工作原理计算机的工作由程序控制程序是一个指令序列指令是能被计算机理解和执行的操作命令程序和数据均以二进制编码表示均存放在存储器中关于指令指令是构成程序的基本单位由操作码和操作数组成其中操作码决定了操作数的数量操作码必须有后者可以没有指令的执行过程取指令指令译码执行指令保存可执行的全部指令称为的指令系统所以机器语言就是指令系统如何衡量计算机和的性能计算机的性能主要表现为程序执行速度的快慢计算机性能由许多因素决定内存硬盘显卡通常为主要因素的性能高低主要表现为的速度两种方法详细见下文计算每秒可执行的指令数目单位大多使用软件测试性能影响性能的主要因素字长位数指通用寄存器和定点运算器的宽度通常为的倍数位字长越长运行程序的速度越快关于字长计算机最小的存储单位字节若计算机字长为个字节泽定点运算器和寄存器为位指令系统逻辑结构高速缓存的容量和结构越大命中率越高有利于发挥工作效率主频内部时钟频率单位一般为主频越高执行一条指令的时间越少运行程序的速度越快总线速率总线速率越高等待从内存取指令和数据时间越少运行程序速度越快小结提高性能的措施扩展的字长位位扩充的指令系统提高主频从提升至以上目前最高已接近加快前端总线的数据传输速率增大高速缓存容量增加级数改进的内部逻辑结构采用多内核结构集成电路微电子技术的核心是集成电路发展与计算机类似电子管晶体管中小规模集成电路超大规模集成电路集成电路的特点体积小重量轻功耗小成本低速度快可靠性高摩尔定律单块集成电路的集成度平均每个月翻一番摩尔定律不可能永远成立集成电路按用途分为通用集成电路芯片存储芯片等专用集成电路手机芯片洗衣机芯片数码相机芯片等集成电路按功能分为数字集成电路和模拟集成电路集成电路按晶体管结构电路和工艺分为双极性电路金属氧化物半导体电路卡集成电路卡它把集成电路密封在塑料卡基片内使其成为存储信息处理和传递数据的载体卡的分类按芯片分类存储器卡信息可长期保存也可通过读卡器改写用于安全性要求不高的场合如电话卡公交卡医疗卡等卡处理能力强保密性能好常用作证件和信用卡使用手机的卡就是一种特殊的卡卡自带操作系统卡的分类按使用方式分类接触式卡如电话卡使用时须将卡插入读卡机用于信息量大读写操作复杂的场合但易磨损怕脏寿命较短非接触式卡如射频卡公交卡等感应卡操作方便快捷采用全密封胶固化使用寿命长一般用于读写信息较简单的场合双界面卡同时兼备接触和非接触两种界面通信的多功能卡主机的组成主板又称母板计算机最重要的部件之一作用安装所有的电子器件电路与连接件组成一般有组件控制芯片键盘和面板控制开关接口指示灯连接件等芯片组是主板电路的核心部件功能主要是存储控制和控制作用是机各组成部分相互链接和通信的枢纽实现了系统总线功能组成由南桥芯片控制中心和北桥芯片存储控制中心组成的时钟信号由芯片组提供主板的功能性能由芯片组决定任何有相同芯片组的主板其功能性能特性大致相同由于集成电路集成度越来越高为降低版本芯片组继承了越来越多的功能包括网卡显卡声卡功能中文名基本输入输出系统它是存放在主板上å
432ªè¯»å­˜å‚¨å™¨èŠ¯ç‰‡ä¸­çš„ä¸€ç»„æœºå™¨è¯­è¨€ç¨‹åºå±žäºŽç³»ç»Ÿè½¯ä»¶ç‰¹ç‚¹æ–­ç”µåŽä¿å­˜çš„ä¿¡æ¯ä¸ä¼šæ¶ˆå¤±åŠŸèƒ½è¯Šæ–­è®¡ç®—æœºæ•…éšœå¯åŠ¨è®¡ç®—æœºå·¥ä½œæŽ§åˆ¶åŸºæœ¬å¤–è®¾è¾“å…¥è¾“å‡ºæ“ä½œèŠ¯ç‰‡ä¸­åŒ…å«çš„ç¨‹åºåŠ ç”µè‡ªæ£€ç¨‹åºç”¨äºŽæ£€æµ‹è®¡ç®—æœºç¡¬ä»¶æ•…éšœç³»ç»Ÿè‡ªä¸¾ç¨‹åºä»Žå¤–å­˜ä¸­è¯»å…¥å¼•å¯¼ç¨‹åºå®Œæˆæ“ä½œç³»ç»Ÿå¯åŠ¨è®¾ç½®ç¨‹åºå¸¸ç”¨å¤–éƒ¨è®¾å¤‡çš„é©±åŠ¨ç¨‹åºç‰¹ç‚¹æ˜¯æ˜“å¤±æ€§å­˜å‚¨å™¨åœç”µåŽç”±ä¸»æ¿ä¸Šçš„çº½æ‰£ç”µæ± ä¾›ç”µå¦åˆ™æ•°æ®ä¼šä¸¢å¤±åªå­˜æ”¾ä¸€äº›åŸºæœ¬æ•°æ®ä¸æ”¾ç¨‹åºå†…å­˜å‚¨å™¨å†…å­˜æ•°æ®ä¼ è¾“çŽ‡è®¡ç®—æ•°æ®ä¼ è¾“çŽ‡å³å†…å­˜å¸¦å®½åªå•ä½æ—¶é—´é€šè¿‡å†…å­˜çš„æ•°æ®é‡ä»¥è¡¨ç¤ºè®¡ç®—å…¬å¼å†…å­˜å¸¦å®½å·¥ä½œé¢‘çŽ‡ä½å®½å†…å­˜ç§ç±»åŽè€…æ˜¯å‰è€…é€Ÿåº¦çš„ä¸¤å€æŽ§åˆ¶ä¸ŽæŽ¥å£è¾“å…¥ä»»åŠ¡å°†è¾“å…¥è®¾å¤‡çš„è¾“å…¥ä¿¡æ¯é€åˆ°å†…å­˜å‚¨å™¨çš„æŒ‡å®šåŒºåŸŸè¾“å‡ºä»»åŠ¡å°†å†…å­˜å‚¨å™¨çš„æŒ‡å®šå†…å®¹é€å‡ºåˆ°è¾“å‡ºè®¾å¤‡æ“ä½œç‰¹ç‚¹æ“ä½œè®¾å¤‡å·¥ä½œé€Ÿåº¦æ¯”æ…¢çš„å¤šå› æ­¤æ“ä½œä¸Žçš„è¿ç®—å¯åŒæ—¶è¿›è¡Œå¤šä¸ªè®¾å¤‡æ“ä½œä¹Ÿå¯åŒæ—¶è¿›è¡Œå·¥ä½œç¢Žç¢Žå¿µé‚£æ˜¯å½“ç„¶çš„å–½ä¸ç„¶ä½ é”®ç›˜é¼ æ ‡ä¸€æ¬¡åªèƒ½ç”¨ä¸€æ ·è¿˜å¾—äº†ç¬‘æ¯ç±»è®¾å¤‡éƒ½æœ‰å„è‡ªçš„æŽ§åˆ¶å™¨ç‹¬ç«‹æŽ§åˆ¶æ“ä½œå…¨è¿‡ç¨‹å­˜å‚¨å™¨é€Ÿ
432度由快到慢寄存器存储器主存储器外存储器后备存储器设备通过接口与主机相连设备通过接口与控制器相连设备通过控制器与总线相连常用输入设备键盘有机械式早期使用和电容式目前主流采用的接口类型接口接口无线接口鼠标器按键功能由正在运行的软件决定有机电式鼠标和光电型鼠标目前主流采用的接口类型同键盘扫描仪作用将原稿照片图片书稿输入到计算机输入到计算机的是原稿的图像在专业排版领域使用最广泛的扫描仪胶片扫描仪和滚筒扫描仪扫描仪主要性能指标光学分辨率色彩位数扫描幅面与主机的接口类型数码相机数字摄像头笔输入设备常用输出设备显示器工作原理将数字信号转换为光信号使文字和图像在屏幕上显示出来分类阴极射线管显示器液晶显示器显卡分类集成显卡还有人用集显打游戏独立显卡比如你最喜欢的一般使用接口打印机分类针式打印机又称击打式打印机激光打印机喷墨打印机这两又统称为非击打式打印机针式打印机工作原理钢针垂直排列每次击打打印一个字符的一列有争议有观点说是一排一般用于银行证券邮电商业等打印存折和票据等激光打印机工作原理激光技术和复印技术的结合注不是打印技术一般用于办公室和家庭使用喷墨打印机打印机性能指标打印精度分辨率单位为打印速度页数分钟单位色彩表现能力打印幅面打印成本外存储器外存硬盘由磁道和扇区组成功能长期保存二进制信息特点可读可写容量很大可靠性高成本极低分类机械硬盘固态硬盘移动硬盘点我预览这里有张图片机械和固态最主要区别固态存取速度比机械要快接口类型前些年使用并行接口当前流行串行接口盘存储卡盘属于半导体集成电路存储器采用接口说了句废话存储卡原理与盘相同采用印刷接口光盘存储器分类红外光红光大于等于蓝光大于等于信息在计算机中的表示比特中文译为二进制数字二进位简称位用小写字母表示比特只有两种取值三无无重量无颜色无大小比特是组成数字信息的最小单位内存换算外存换算外存储器容量常用的幂次来计算比特的传输传输速率表示每秒钟可传输的二进位数目常用单位比特秒也称如千比特秒常用进制十进制标志尾部加或缺省例二进制标志尾部加例八进制标志尾部加十六进制标志尾部加例不同进制间的相互转换十进制转二进制整数部分除以逆序取余小数部分乘以顺序取整二进制转八进制和十六进制偷个懒直接上图吧整数编码表示无符号整数的表示采用自然码表示直接二进制展开取值范围位无符号整数的表示范围是无符号位二进制表示范围无符号位原码表示范围无符号位补码表示范围无符号位反码表示范围重要规律若一个十进制数是则化成二进制数则是个后面有个其值为看晕了没事我也晕了可是这玩意就是很重要原码反码与补码符号位为表示正数为表示负数原码正数的原码等于反码等于补码反码对正数来说其反码和原码形式相同对负数来说反码为其原码数值部分各位取反符号位不变例的反码符号位不变其余位取反补码正数的补码为其本身补码的补码即为原码负数如何用补码表示先把绝对值表示为自然码将自然码每一位取反码在最低位加上例子用位补码表示转换成二进制原码为取反码加一在原码和反码中有两种表示在补码中只有一种表示方式补码运算时要注意的问题补码运算时其符号位与数值部分一起参与运算补码的符号位相加后如果有进位出现要把这个进位舍去自然丢失用补码运算其结果亦为补码在转换为真值时其符号位为数位不变若符号位为应将结果求补才是其真值补充二进制的表示逻辑真用表示假用表示逻辑乘法逻辑与运算运算符运算规则按位运算全为否则为逻辑加法逻辑或运算运算符运算规则按位运算全为否则为逻辑否定逻辑非运算运算符运算规则按位运算取反为取反为异或è¿
432ç®—运算符运算规则相同为否则为计算机使用二进制的原因之一是具有个稳定状态的电子器件比较容易制造定点数和浮点数定点数可以表示整数或小数由小数点的位置决定浮点数纯小数部分尾部越长精度越高半导体存储器分为和又分为静态随机和动态随机不需要刷新每刷新一次读写速度较快读写速度较慢电路相对复杂电路相对简单集成度低集成度高能耗低能耗高成本较高成本较低一般用于存储器一般用于主存硬盘的主要由组成计算机启动顺序自举程序引导程序操作系统只读限写一次可写多次可擦写硬盘中不同磁道上所有扇区能存储的数据量是相同的存取密度不同左移与右移左移表示扩大每左移位就是原来的倍为进制基数逻辑左移与算术左移都是在末尾添右移表示缩小每右移位就是原来的倍为进制基数逻辑右移右移后左边补算术右移右移后左边补对应符号位软件容量的计算软件容量磁道数扇区数盘面数每扇区存区数内存寻址范围取决于地址线位数的多少可寻址空间为也算所以可寻址范围为地址总线的位数直接决定了可直接寻址的空间大小硬盘的平均等待时间计算公式磁盘旋转一圈时间的一半转速平均存取时间寻道时间旋转等待时间数据传输时间硬盘上的一个扇区要用三个参数进行定位分别是柱面号磁头号扇区号通信技术主要用于扩展人的神经系统传递信息的功能指令计数器用来存取正在执行指令的地址指令寄存器用来保存当前正在执行的指令集成度分类由小到极大南桥控制中心北桥存储控制中心中的数据是内存的映射机中管理设备运行全过程是控制器磁道是由里向外的同心圆每个同心圆是一个磁道十进制转二进制无法实现精确转换用线接口用线接口操作系统管理用户数据的单位是文件").trim().substring(0, 1000);
433      let value = Math.floor(Math.random() * 3) + 1000;
434      while (value === prevParam || truncateDescription.length - value === prevParam) {
435        value = Math.floor(Math.random() * 3) + 1000;
436      }
437      aiTitleRefreshIcon.style.opacity = "0.2";
438      aiTitleRefreshIcon.style.transitionDuration = "0.3s";
439      aiTitleRefreshIcon.style.transform = "rotate(" + 360 * refreshNum + "deg)";
440      if (truncateDescription.length <= 1000) {
441        let param = truncateDescription.length - Math.floor(Math.random() * 3);
442        while (param === prevParam) {
443          param = truncateDescription.length - Math.floor(Math.random() * 3);
444        }
445        aiAbstract(param);
446        prevParam = param;
447      } else {
448        aiAbstract(value);
449        prevParam = value;
450      }
451      refreshNum++;
452    }
453  }
454
455  //- 监听tag点击事件
456  document.getElementById("ai-tag").addEventListener("click", () => {
457    if (mode === "tianli") {
458      document.querySelectorAll(".ai-btn-item").forEach(item => item.style.display = "none");
459      document.getElementById("go-tianli-blog").style.display = "block";
460      startAI("你好,我是Tianli开发的摘要生成助理TianliGPT,是一个基于GPT-4的生成式AI。我在这里只负责摘要的预生成和显示,你无法与我直接沟通,如果你也需要一个这样的AI摘要接口,可以在下方购买。(暂未开放购买,敬请期待)")
461    } else {
462      document.getElementById("go-tianli-blog").style.display = "none";
463      startAI("你好,我是本站摘要生成助理AnZhiYu GPT,是一个基于GPT-4的生成式AI。我在这里只负责摘要的预生成和显示,你无法与我直接沟通。")
464    }
465
466  });
467
468  aiTitleRefreshIcon.addEventListener("click", () => {
469    const truncateDescription = ("" + "计算机硬件, 计算机基本信息, 集成电路(IC), PC主机的组成, 常用输入设备, 常用输出设备, 外存储器(外存), 信息在计算机中的表示, 补充本文是博主在备考时整理的一些笔记内容若存在错误可在评论区指正非常感谢系列笔记导航计算机应用基础笔记一计算机应用基础笔记二计算机应用基础笔记三计算机应用基础笔记四计算机硬件计算机基本信息现代计算机硬件组成内存外存输入输出设备通过总线相连主机内存总线外围设备输入设备输出设备外存储器磁卡条形码卡的扫描器阅读器为输入设备用于输入文字符号硬盘盘光盘不是输入设备它们都是外部存储设备不论输入设备的信息原始形态如何输入到计算机的信息都用二进位表示输出设备将计算机中的二进位信息转换成人可识别的形式文字图形符号等现代计算机一般包含有多个微处理器是用与执行系统软件和应用软件的处理器但是处理器处理器却不一定是存储器功能储存以二进制形式表示的程序和数据存储器分类能否直接访问分类内存外存存取速度很快较慢存储容量较小很大性质断电后信息消失断电后信息保存用途存放已经启动运行的程序和需要立即处理的数据长期存放计算机系统中几乎所有的信息与关系能直接访问先送内存然后才能访问小结任何程
469序只有在内存中才能运行总线功能用于连接内存外存控制器和各种设备的控制器并在他们之间传输信息的一组共享的传输线及其控制电路分类处理器总线总线存储器总线系统总线和外部总线系统总线总线连接内存和控制器的总线设备通过接口与各自的控制器相连也通过各自的控制器与总线相连总线带宽不是总线宽度带宽是指单位时间内传送的数据量的逻辑结构由运算器控制器存储器三部分组成是运算器和控制器的总称冯诺依曼计算机结构与原理存储程序控制原理也是现代计算机的工作原理计算机的工作由程序控制程序是一个指令序列指令是能被计算机理解和执行的操作命令程序和数据均以二进制编码表示均存放在存储器中关于指令指令是构成程序的基本单位由操作码和操作数组成其中操作码决定了操作数的数量操作码必须有后者可以没有指令的执行过程取指令指令译码执行指令保存可执行的全部指令称为的指令系统所以机器语言就是指令系统如何衡量计算机和的性能计算机的性能主要表现为程序执行速度的快慢计算机性能由许多因素决定内存硬盘显卡通常为主要因素的性能高低主要表现为的速度两种方法详细见下文计算每秒可执行的指令数目单位大多使用软件测试性能影响性能的主要因素字长位数指通用寄存器和定点运算器的宽度通常为的倍数位字长越长运行程序的速度越快关于字长计算机最小的存储单位字节若计算机字长为个字节泽定点运算器和寄存器为位指令系统逻辑结构高速缓存的容量和结构越大命中率越高有利于发挥工作效率主频内部时钟频率单位一般为主频越高执行一条指令的时间越少运行程序的速度越快总线速率总线速率越高等待从内存取指令和数据时间越少运行程序速度越快小结提高性能的措施扩展的字长位位扩充的指令系统提高主频从提升至以上目前最高已接近加快前端总线的数据传输速率增大高速缓存容量增加级数改进的内部逻辑结构采用多内核结构集成电路微电子技术的核心是集成电路发展与计算机类似电子管晶体管中小规模集成电路超大规模集成电路集成电路的特点体积小重量轻功耗小成本低速度快可靠性高摩尔定律单块集成电路的集成度平均每个月翻一番摩尔定律不可能永远成立集成电路按用途分为通用集成电路芯片存储芯片等专用集成电路手机芯片洗衣机芯片数码相机芯片等集成电路按功能分为数字集成电路和模拟集成电路集成电路按晶体管结构电路和工艺分为双极性电路金属氧化物半导体电路卡集成电路卡它把集成电路密封在塑料卡基片内使其成为存储信息处理和传递数据的载体卡的分类按芯片分类存储器卡信息可长期保存也可通过读卡器改写用于安全性要求不高的场合如电话卡公交卡医疗卡等卡处理能力强保密性能好常用作证件和信用卡使用手机的卡就是一种特殊的卡卡自带操作系统卡的分类按使用方式分类接触式卡如电话卡使用时须将卡插入读卡机用于信息量大读写操作复杂的场合但易磨损怕脏寿命较短非接触式卡如射频卡公交卡等感应卡操作方便快捷采用全密封胶固化使用寿命长一般用于读写信息较简单的场合双界面卡同时兼备接触和非接触两种界面通信的多功能卡主机的组成主板又称母板计算机最重要的部件之一作用安装所有的电子器件电路与连接件组成一般有组件控制芯片键盘和面板控制开关接口指示灯连接件等芯片组是主板电路的核心部件功能主要是存储控制和控制作用是机各组成部分相互链接和通信的枢纽实现了系统总线功能组成由南桥芯片控制中心和北桥芯片存储控制中心组成的时钟信号由芯片组提供主板的功能性能由芯片组决定任何有相同芯片组的主板其功能性能特性大致相同由于集成电路集成度越来越高为降低版本芯片组继承了越来越多的功能包括网卡显卡声卡功能中文名基本输入输出系统它是存放在主板上å
469ªè¯»å­˜å‚¨å™¨èŠ¯ç‰‡ä¸­çš„ä¸€ç»„æœºå™¨è¯­è¨€ç¨‹åºå±žäºŽç³»ç»Ÿè½¯ä»¶ç‰¹ç‚¹æ–­ç”µåŽä¿å­˜çš„ä¿¡æ¯ä¸ä¼šæ¶ˆå¤±åŠŸèƒ½è¯Šæ–­è®¡ç®—æœºæ•…éšœå¯åŠ¨è®¡ç®—æœºå·¥ä½œæŽ§åˆ¶åŸºæœ¬å¤–è®¾è¾“å…¥è¾“å‡ºæ“ä½œèŠ¯ç‰‡ä¸­åŒ…å«çš„ç¨‹åºåŠ ç”µè‡ªæ£€ç¨‹åºç”¨äºŽæ£€æµ‹è®¡ç®—æœºç¡¬ä»¶æ•…éšœç³»ç»Ÿè‡ªä¸¾ç¨‹åºä»Žå¤–å­˜ä¸­è¯»å…¥å¼•å¯¼ç¨‹åºå®Œæˆæ“ä½œç³»ç»Ÿå¯åŠ¨è®¾ç½®ç¨‹åºå¸¸ç”¨å¤–éƒ¨è®¾å¤‡çš„é©±åŠ¨ç¨‹åºç‰¹ç‚¹æ˜¯æ˜“å¤±æ€§å­˜å‚¨å™¨åœç”µåŽç”±ä¸»æ¿ä¸Šçš„çº½æ‰£ç”µæ± ä¾›ç”µå¦åˆ™æ•°æ®ä¼šä¸¢å¤±åªå­˜æ”¾ä¸€äº›åŸºæœ¬æ•°æ®ä¸æ”¾ç¨‹åºå†…å­˜å‚¨å™¨å†…å­˜æ•°æ®ä¼ è¾“çŽ‡è®¡ç®—æ•°æ®ä¼ è¾“çŽ‡å³å†…å­˜å¸¦å®½åªå•ä½æ—¶é—´é€šè¿‡å†…å­˜çš„æ•°æ®é‡ä»¥è¡¨ç¤ºè®¡ç®—å…¬å¼å†…å­˜å¸¦å®½å·¥ä½œé¢‘çŽ‡ä½å®½å†…å­˜ç§ç±»åŽè€…æ˜¯å‰è€…é€Ÿåº¦çš„ä¸¤å€æŽ§åˆ¶ä¸ŽæŽ¥å£è¾“å…¥ä»»åŠ¡å°†è¾“å…¥è®¾å¤‡çš„è¾“å…¥ä¿¡æ¯é€åˆ°å†…å­˜å‚¨å™¨çš„æŒ‡å®šåŒºåŸŸè¾“å‡ºä»»åŠ¡å°†å†…å­˜å‚¨å™¨çš„æŒ‡å®šå†…å®¹é€å‡ºåˆ°è¾“å‡ºè®¾å¤‡æ“ä½œç‰¹ç‚¹æ“ä½œè®¾å¤‡å·¥ä½œé€Ÿåº¦æ¯”æ…¢çš„å¤šå› æ­¤æ“ä½œä¸Žçš„è¿ç®—å¯åŒæ—¶è¿›è¡Œå¤šä¸ªè®¾å¤‡æ“ä½œä¹Ÿå¯åŒæ—¶è¿›è¡Œå·¥ä½œç¢Žç¢Žå¿µé‚£æ˜¯å½“ç„¶çš„å–½ä¸ç„¶ä½ é”®ç›˜é¼ æ ‡ä¸€æ¬¡åªèƒ½ç”¨ä¸€æ ·è¿˜å¾—äº†ç¬‘æ¯ç±»è®¾å¤‡éƒ½æœ‰å„è‡ªçš„æŽ§åˆ¶å™¨ç‹¬ç«‹æŽ§åˆ¶æ“ä½œå…¨è¿‡ç¨‹å­˜å‚¨å™¨é€Ÿ
469度由快到慢寄存器存储器主存储器外存储器后备存储器设备通过接口与主机相连设备通过接口与控制器相连设备通过控制器与总线相连常用输入设备键盘有机械式早期使用和电容式目前主流采用的接口类型接口接口无线接口鼠标器按键功能由正在运行的软件决定有机电式鼠标和光电型鼠标目前主流采用的接口类型同键盘扫描仪作用将原稿照片图片书稿输入到计算机输入到计算机的是原稿的图像在专业排版领域使用最广泛的扫描仪胶片扫描仪和滚筒扫描仪扫描仪主要性能指标光学分辨率色彩位数扫描幅面与主机的接口类型数码相机数字摄像头笔输入设备常用输出设备显示器工作原理将数字信号转换为光信号使文字和图像在屏幕上显示出来分类阴极射线管显示器液晶显示器显卡分类集成显卡还有人用集显打游戏独立显卡比如你最喜欢的一般使用接口打印机分类针式打印机又称击打式打印机激光打印机喷墨打印机这两又统称为非击打式打印机针式打印机工作原理钢针垂直排列每次击打打印一个字符的一列有争议有观点说是一排一般用于银行证券邮电商业等打印存折和票据等激光打印机工作原理激光技术和复印技术的结合注不是打印技术一般用于办公室和家庭使用喷墨打印机打印机性能指标打印精度分辨率单位为打印速度页数分钟单位色彩表现能力打印幅面打印成本外存储器外存硬盘由磁道和扇区组成功能长期保存二进制信息特点可读可写容量很大可靠性高成本极低分类机械硬盘固态硬盘移动硬盘点我预览这里有张图片机械和固态最主要区别固态存取速度比机械要快接口类型前些年使用并行接口当前流行串行接口盘存储卡盘属于半导体集成电路存储器采用接口说了句废话存储卡原理与盘相同采用印刷接口光盘存储器分类红外光红光大于等于蓝光大于等于信息在计算机中的表示比特中文译为二进制数字二进位简称位用小写字母表示比特只有两种取值三无无重量无颜色无大小比特是组成数字信息的最小单位内存换算外存换算外存储器容量常用的幂次来计算比特的传输传输速率表示每秒钟可传输的二进位数目常用单位比特秒也称如千比特秒常用进制十进制标志尾部加或缺省例二进制标志尾部加例八进制标志尾部加十六进制标志尾部加例不同进制间的相互转换十进制转二进制整数部分除以逆序取余小数部分乘以顺序取整二进制转八进制和十六进制偷个懒直接上图吧整数编码表示无符号整数的表示采用自然码表示直接二进制展开取值范围位无符号整数的表示范围是无符号位二进制表示范围无符号位原码表示范围无符号位补码表示范围无符号位反码表示范围重要规律若一个十进制数是则化成二进制数则是个后面有个其值为看晕了没事我也晕了可是这玩意就是很重要原码反码与补码符号位为表示正数为表示负数原码正数的原码等于反码等于补码反码对正数来说其反码和原码形式相同对负数来说反码为其原码数值部分各位取反符号位不变例的反码符号位不变其余位取反补码正数的补码为其本身补码的补码即为原码负数如何用补码表示先把绝对值表示为自然码将自然码每一位取反码在最低位加上例子用位补码表示转换成二进制原码为取反码加一在原码和反码中有两种表示在补码中只有一种表示方式补码运算时要注意的问题补码运算时其符号位与数值部分一起参与运算补码的符号位相加后如果有进位出现要把这个进位舍去自然丢失用补码运算其结果亦为补码在转换为真值时其符号位为数位不变若符号位为应将结果求补才是其真值补充二进制的表示逻辑真用表示假用表示逻辑乘法逻辑与运算运算符运算规则按位运算全为否则为逻辑加法逻辑或运算运算符运算规则按位运算全为否则为逻辑否定逻辑非运算运算符运算规则按位运算取反为取反为异或è¿
469ç®—运算符运算规则相同为否则为计算机使用二进制的原因之一是具有个稳定状态的电子器件比较容易制造定点数和浮点数定点数可以表示整数或小数由小数点的位置决定浮点数纯小数部分尾部越长精度越高半导体存储器分为和又分为静态随机和动态随机不需要刷新每刷新一次读写速度较快读写速度较慢电路相对复杂电路相对简单集成度低集成度高能耗低能耗高成本较高成本较低一般用于存储器一般用于主存硬盘的主要由组成计算机启动顺序自举程序引导程序操作系统只读限写一次可写多次可擦写硬盘中不同磁道上所有扇区能存储的数据量是相同的存取密度不同左移与右移左移表示扩大每左移位就是原来的倍为进制基数逻辑左移与算术左移都是在末尾添右移表示缩小每右移位就是原来的倍为进制基数逻辑右移右移后左边补算术右移右移后左边补对应符号位软件容量的计算软件容量磁道数扇区数盘面数每扇区存区数内存寻址范围取决于地址线位数的多少可寻址空间为也算所以可寻址范围为地址总线的位数直接决定了可直接寻址的空间大小硬盘的平均等待时间计算公式磁盘旋转一圈时间的一半转速平均存取时间寻道时间旋转等待时间数据传输时间硬盘上的一个扇区要用三个参数进行定位分别是柱面号磁头号扇区号通信技术主要用于扩展人的神经系统传递信息的功能指令计数器用来存取正在执行指令的地址指令寄存器用来保存当前正在执行的指令集成度分类由小到极大南桥控制中心北桥存储控制中心中的数据是内存的映射机中管理设备运行全过程是控制器磁道是由里向外的同心圆每个同心圆是一个磁道十进制转二进制无法实现精确转换用线接口用线接口操作系统管理用户数据的单位是文件").trim().substring(0, 1000);
470    let value = Math.floor(Math.random() * 3) + 1000;
471    while (value === prevParam || truncateDescription.length - value === prevParam) {
472      value = Math.floor(Math.random() * 3) + 1000;
473    }
474    aiTitleRefreshIcon.style.opacity = "0.2";
475    aiTitleRefreshIcon.style.transitionDuration = "0.3s";
476    aiTitleRefreshIcon.style.transform = "rotate(" + 360 * refreshNum + "deg)";
477    if (truncateDescription.length <= 1000) {
478      let param = truncateDescription.length - Math.floor(Math.random() * 3);
479      while (param === prevParam) {
480        param = truncateDescription.length - Math.floor(Math.random() * 3);
481      }
482      aiAbstract(param);
483      prevParam = param;
484    } else {
485      aiAbstract(value);
486      prevParam = value;
487    }
488    showAiBtn();
489    refreshNum++;
490  });
491
492  document.getElementById("go-tianli-blog").addEventListener("click", () => {
493    window.open("https://afdian.net/item/886a79d4db6711eda42a52540025c377", "_blank");
494  });
495  
496  if (true) {
497    document.getElementById("ai-Toggle").addEventListener("click", () => {
498      changeShowMode()
499    });
500  }
501
502  function showAiBtn() {
503    document.querySelectorAll(".ai-btn-item").forEach(item => {
504      if (item.id !== "go-tianli-blog") {
505        item.style.display = "block";
506      }
507      if (item.id === "go-tianli-blog") {
508        item.style.display = "none";
509      }
510    });
511  }
512
513
514  aiAbstract();
515  showAiBtn()
516})()</script>
516</div><article class="post-content" id="article-container"><div class="note info flat"><p><strong>本文是博主在备考时整理的一些笔记,内容若存在错误,可在评论区指正,非常感谢!<(^-^)></strong></p>
517<p>系列笔记导航🚌🚌<br>1.🧬<a href="https://www.yejinblok.cn/posts/51509cba.html">计算机应用基础笔记(一)</a><br>2.🎣<a href="https://www.yejinblok.cn/posts/61467062.html">计算机应用基础笔记(二)</a><br>3.🎐<a href="https://www.yejinblok.cn/posts/2c58d330.html">计算机应用基础笔记(三)</a><br>4.🎨<a href="https://www.yejinblok.cn/posts/9b75ca55.html">计算机应用基础笔记(四)</a></p>
518</div>
519
520<h1 id="计算机硬件"><a href="#计算机硬件" class="headerlink" title="计算机硬件"></a>计算机硬件</h1><h2 id="计算机基本信息"><a href="#计算机基本信息" class="headerlink" title="计算机基本信息"></a>计算机基本信息</h2><ol>
521<li><p>现代计算机硬件组成:CPU,内存,外存,输入&#x2F;输出设备。通过总线相连<br> 主机:cpu+内存+总线<br> 外围设备:输入设备+输出设备+外存储器</p>
522</li>
523<li><p>磁卡,条形码,IC卡的扫描器&#x2F;阅读器为输入设备(用于输入文字符号)</p>
524 <wavy>硬盘,U盘,光盘不是输入设备,它们都是外部存储设备</wavy> 
525<p> 不论输入设备的信息原始形态如何,输入到计算机的信息都用<code>二进位</code>表示。<br> 输出设备将计算机中的二进位信息转换成人可识别的形式(文字,图形,符号等)</p>
526</li>
527<li><p>现代计算机一般包含有多个(微)处理器,<code>CPU</code>是用与执行系统软件和应用软件的处理器<br> 但CPU是处理器,’处理器却不一定是CPU’</p>
528</li>
529<li><p>存储器:<br> 功能:储存以二进制形式表示的<code>程序</code>和<code>数据</code><br> 存储器分类:<code>CPU能否直接访问</code></p>
530<table>
531<thead>
532<tr>
533<th align="center">分类</th>
534<th align="center">内存</th>
535<th align="center">外存</th>
536</tr>
537</thead>
538<tbody><tr>
539<td align="center">存取速度</td>
540<td align="center">很快</td>
541<td align="center">较慢</td>
542</tr>
543<tr>
544<td align="center">存储容量</td>
545<td align="center">较小</td>
546<td align="center">很大</td>
547</tr>
548<tr>
549<td align="center">性质</td>
550<td align="center">断电后信息消失</td>
551<td align="center">断电后信息保存</td>
552</tr>
553<tr>
554<td align="center">用途</td>
555<td align="center">存放已经启动运行的程序和<br>需要立即处理的数据</td>
556<td align="center">长期存放计算机系统中<br>几乎所有的信息</td>
557</tr>
558<tr>
559<td align="center">与CPU关系</td>
560<td align="center">CPU能直接访问</td>
561<td align="center">先送内存,然后才能访问</td>
562</tr>
563</tbody></table>
564<p>  小结:任何程序,只有在<code>内存</code>中,才能运行</p>
565</li>
566<li><p>总线:</p>
567<ul>
568<li>功能:<p class='p red'>用于连接CPU,内存,外存控制器和各种I/O设备的控制器并在他们之间传输信息的一组共享的传输线及其控制电路</p></li>
569<li>分类:处理器总线(cpu总线),存储器总线,系统总线和外部总线<blockquote>
570<p>系统总线(I&#x2F;O总线):连接内存和I&#x2F;O控制器的总线<br>I&#x2F;O设备通过I&#x2F;O接口与各自的控制器相连,也通过各自的控制器与I&#x2F;O总线相连 </p>
571</blockquote>
572</li>
573<li>总线带宽<code>不是</code>总线宽度,带宽是指<code>单位时间内传送的数据量</code></li>
574</ul>
575</li>
576<li><p>CPU的逻辑结构:CPU由<code>运算器</code>,<code>控制器</code>,<code>存储器</code>三部分组成<br> CPU是运算器和控制器的总称 </p>
577<ul>
578<li>冯·诺依曼计算机结构与原理:<code>&quot;存储程序控制原理&quot;</code>  ———也是现代计算机的工作原理</li>
579<li>计算机的工作由程序控制,程序是一个<code>指令序列</code>,<code>指令</code>是能被计算机理解和执行的操作命令</li>
580<li>程序和数据均以二进制编码表示,均存放在存储器中 <div class="note info flat"><p>关于指令<br>    指令:是构成程序的基本单位。由<code>操作码</code>和<code>操作数</code>组成,其中操作码决定了操作数的数量,操作码必须有,后者可以没有<br>    指令的执行过程:取指令-&gt;指令<code>译码</code>-&gt;执行指令-&gt;保存<br>    cpu可执行的全部指令称为cpu的<code>指令系统</code>,所以<a target="_blank" rel="noopener" href="https://baike.baidu.com/item/%E6%9C%BA%E5%99%A8%E8%AF%AD%E8%A8%80/2019225?fr=ge_ala">机器语言</a>
580就是指令系统<br>    如何衡量计算机和cpu的性能?<br>    1. 计算机的性能主要表现为<code>程序执行速度的快慢</code><br>    2. 计算机性能由许多因素决定:CPU,内存,硬盘,显卡..CPU通常为主要因素<br>    3. cpu的性能高低主要表现为<code>cpu的速度</code>(两种方法),详细见下文<br>        ① 计算每秒可执行的指令数目(单位:<code>MIPS</code>)<br>        ② PC大多使用软件测试性能</p>
581</div></li>
582</ul>
583</li>
584<li><p>影响CPU性能的主要因素</p>
585<ul>
586<li><p>字长(位数):指通用寄存器和定点运算器的宽度(通常为8的倍数:64位)字长越长,运行程序的速度越快</p>
587 <div class="note info flat"><p>关于字长 计算机最小的存储单位:<code>Byte</code>(字节)1B&#x3D;8bit<br>若计算机字长为4个字节,泽定点运算器和寄存器为32位
588    </p>
589</div>
590</li>
591<li><p>指令系统</p>
592</li>
593<li><p>逻辑结构</p>
594</li>
595<li><p>高速缓存(<code>cache</code>)的容量和结构.cache越大,命中率越高,有利于CPU发挥工作效率。</p>
596</li>
597<li><p>主频(cpu内部时钟频率)单位一般为Hz.主频越高,执行一条指令的时间越少。运行程序的速度越快.</p>
598</li>
599<li><p>CPU总线速率:cpu总线速率越高,CPU等待从内存取指令和数据时间越少。运行程序速度越快。</p>
600<blockquote>
601<p>小结:提高cpu性能的措施</p>
602<blockquote>
603<p>扩展CPU的字长:32位-&gt;64位<br>扩充CPU的指令系统<br>提高CPU主频:从1.5Gz提升至3Gz以上,目前最高已接近4Ghz<br>加快CPU前端总线的数据传输速率<br>增大高速缓存容量,增加cache级数<br>改进CPU的内部逻辑结构<br>采用多内核结构</p>
604</blockquote>
605</blockquote>
606</li>
607</ul>
608</li>
609</ol>
610<h2 id="集成电路(IC)"><a href="#集成电路(IC)" class="headerlink" title="集成电路(IC)"></a>集成电路(IC)</h2><ol>
611<li>微电子技术的核心是集成电路</li>
612<li>发展与计算机类似:电子管-&gt;晶体管-&gt;中小规模集成电路-&gt;超大规模集成电路</li>
613<li>集成电路的特点:<u>体积小,重量轻,功耗小,成本低,速度快,可靠性高</u></li>
614<li><code>摩尔定律</code>:单块集成电路的集成度平均每18-24个月翻一番。<u>摩尔定律不可能永远成立</u></li>
615<li>集成电路按<code>用途</code>分为:<ul>
616<li>通用集成电路(cpu芯片,存储芯片等)</li>
617<li>专用集成电路(手机芯片,洗衣机芯片,数码相机芯片等)<br>集成电路按<code>功能</code>分为:数字集成电路 和 模拟集成电路<br>集成电路按<code>晶体管结构,电路和工艺</code>分为: 双极性电路,金属氧化物半导体电路</li>
618</ul>
619</li>
620<li>IC卡:集成电路卡,它把集成电路密封在塑料卡基片内,使其成为存储信息,处理和传递数据的载体</li>
621<li>IC卡的分类(按芯片分类):<ul>
622<li>存储器卡:信息可长期保存,也可通过读卡器改写。<code>用于安全性要求不高的场合如电话卡,公交卡,医疗卡等</code> </li>
623<li>cpu卡:处理能力强,保密性能好。常用作证件和信用卡使用<u>(手机的SIM卡就是一种特殊的cpu卡</u>cpu卡自带<code>操作系统</code></li>
624</ul>
625</li>
626<li>IC卡的分类(按使用方式分类):<ul>
627<li>接触式IC卡,如电话IC卡:使用时须将卡插入读卡机;用于信息量大,读写操作复杂的场合。但<u>易磨损,怕脏,寿命较短</u></li>
628<li>非接触式IC卡,如射频卡,公交卡等感应卡;操作方便,快捷,采用全密封胶固化,使用寿命长,一般用于读写信息较简单的场合</li>
629<li><a target="_blank" rel="noopener" href="https://baike.baidu.com/item/%E5%8F%8C%E7%95%8C%E9%9D%A2%E5%8D%A1/6713997?fr=ge_ala">双界面卡</a>:同时兼备接触和非接触两种界面通信的多功能卡</li>
630</ul>
631</li>
632</ol>
633<h2 id="PC主机的组成"><a href="#PC主机的组成" class="headerlink" title="PC主机的组成"></a>PC主机的组成</h2><ol>
634<li><p><code>主板</code>:又称母板,计算机最重要的部件之一<br>作用:<u>安装所有的电子器件,电路与连接件</u><br>组成:一般有BIOS组件,I&#x2F;O控制芯片,键盘和面板控制开关接口,指示灯连接件等..</p>
635</li>
636<li><p><code>芯片组</code>:是主板电路的核心部件。功能主要是<font color=red>存储控制和I&#x2F;O控制</font><br>作用:是PC机各组成部分相互链接和通信的枢纽。实现了<a target="_blank" rel="noopener" href="https://baike.baidu.com/item/%E7%B3%BB%E7%BB%9F%E6%80%BB%E7%BA%BF?fromModule=lemma_search-box">系统总线</a>功能<br>组成:由南桥芯片<code>(I/O控制中心)</code>和北桥芯片<code>(存储控制中心)</code>组成<br><font color=red>cpu的时钟信号由芯片组提供</font><br><font color=red>主板的功能,性能由芯片组决定。</font>任何有相同芯片组的主板,其功能性能特性大致相同。由于集成电路集成度越来越高,为降低版本,芯片组继承了越来越多的功能(包括网卡,显卡,声卡功能)</p>
637</li>
638<li><p>BIOS(Basic Input&#x2F;Output System):中文名“基本输入&#x2F;
638输出系统”,它是存放在主板上只读存储器<code>ROM</code>芯片中的一组<code>机器语言程序</code>(属于系统软件)<br>特点:断电后,保存的信息不会消失<br>功能:  诊断计算机故障,启动计算机工作,控制基本外设输入输出操作<br>BIOS芯片中包含的程序 </p>
639<ul>
640<li><strong>加电自检程序(POST)</strong> ——用于检测计算机硬件故障</li>
641<li><strong>系统自举程序(BOOT)</strong> ——从外存中读入引导程序,完成操作系统启动</li>
642<li>CMOS设置程序</li>
643<li>常用外部设备的驱动程序</li>
644</ul>
645</li>
646<li><p><a target="_blank" rel="noopener" href="https://baike.baidu.com/item/CMOS/428167?fr=ge_ala">CMOS</a><br>特点:是<code>易失性</code>存储器RAM,停电后由主板上的纽扣电池供电,否则数据会丢失,只存放一些基本数据,不放程序。</p>
647</li>
648<li><p>内存储器</p>
649<ul>
650<li>DDR内存数据传输率计算: 数据传输率即内存带宽,只单位时间通过内存的数据量。以<code>GB/s</code>表示</li>
651<li>计算公式:内存带宽&#x3D;工作频率 * 位宽&#x2F;8</li>
652<li>内存DRAM种类:SDRAM,DDR SDRAM,DDR2 SDRAM…后者是前者速度的两倍</li>
653</ul>
654</li>
655<li><p>I&#x2F;O控制与I&#x2F;O接口<br>输入任务:将输入设备的输入信息送到内存储器的指定区域<br>输出任务:将内存储器的指定内容送出到输出设备<br>I&#x2F;O操作特点:<font color="red">I&#x2F;O操作设备工作速度比CPU慢的多</font><br>因此:<br> I&#x2F;O操作与CPU的运算可<code>同时进行</code><br> 多个I&#x2F;O设备操作也可同时进行工作<div class="hide-block"><button type="button" class="hide-button" style="background-color:  blue;">碎碎念
656    </button><div class="hide-content"><p>那是当然的喽,不然你键盘鼠标一次只能用一样还得了(笑)</p>
657</div></div>每类I&#x2F;O设备都有<u>各自的控制器</u>,独立控制I&#x2F;O操作全过程</p>
658 <div class="note info flat"><p>
658存储器速度(由快到慢) 寄存器&gt;cache存储器&gt;主存储器&gt;外存储器&gt;后备存储器</p>
659</div>
660
661<ul>
662<li>I&#x2F;O设备通过I&#x2F;O接口与主机相连</li>
663<li>I&#x2F;O设备通过I&#x2F;O接口与I&#x2F;O控制器相连</li>
664<li>I&#x2F;O设备通过I&#x2F;O控制器与总线相连</li>
665</ul>
666</li>
667</ol>
668<h2 id="常用输入设备"><a href="#常用输入设备" class="headerlink" title="常用输入设备"></a>常用输入设备</h2><ol>
669<li><p>键盘<br>有机械式(早期使用)和电容式(目前主流)<br>采用的接口类型:<code>PS/2接口</code>,<code>USB接口</code>,<code>无线接口</code></p>
670</li>
671<li><p>鼠标器<br><u>按键功能由正在运行的软件决定</u><br>有机电式鼠标和光电型鼠标(目前主流)<br>采用的接口类型:同键盘</p>
672</li>
673<li><p><a target="_blank" rel="noopener" href="https://baike.baidu.com/item/%E6%89%AB%E6%8F%8F%E4%BB%AA/215294?fr=ge_ala">扫描仪</a><br>作用:将原稿(照片,图片,书稿)输入到计算机;输入到计算机的是原稿的<code>&quot;图像&quot;</code><br>在专业排版领域使用最广泛的扫描仪:胶片扫描仪和滚筒扫描仪<br>扫描仪主要性能指标:<code>光学分辨率,色彩位数,扫描幅面,与主机的接口类型</code></p>
674</li>
675<li><p>数码相机</p>
676</li>
677<li><p>数字摄像头</p>
678</li>
679<li><p>笔输入设备</p>
680</li>
681</ol>
682<h2 id="常用输出设备"><a href="#常用输出设备" class="headerlink" title="常用输出设备"></a>常用输出设备</h2><ol>
683<li><p>显示器<br>工作原理:将<code>数字信号</code>转换为<code>光信号</code>,使文字和图像在屏幕上显示出来<br>分类:<code>CRT</code>(阴极射线管显示器),<code>LCD</code>(液晶显示器)</p>
684</li>
685<li><p>显卡<br>分类:集成显卡<del>还有人用集显打游戏?</del>,独立显卡<del>比如你最喜欢的4090</del>。一般使用PCI-E*16接口</p>
686</li>
687<li><p>打印机<br> 分类:针式打印机(又称击打式打印机);激光打印机,喷墨打印机(这两又统称为非击打式打印机)</p>
688<ul>
689<li>针式打印机:<br> 工作原理:钢针垂直排列,每次击打打印一个字符的<emp>一列</emp>
689(有争议,有观点说是一排);一般用于银行,证券,邮电,商业等打印存折和票据等</li>
690<li>激光打印机:<br> 工作原理:<font color="red">激光技术和复印技术的结合</font>(❗注:不是打印技术!)一般用于办公室和家庭使用</li>
691<li><a target="_blank" rel="noopener" href="https://baike.baidu.com/item/%E5%96%B7%E5%A2%A8%E6%89%93%E5%8D%B0%E6%9C%BA">喷墨打印机</a></li>
692</ul>
693<p> 打印机性能指标:打印精度(分辨率,单位为api),打印速度(页数&#x2F;分钟,单位ppm),色彩表现能力,打印幅面,打印成本</p>
694</li>
695</ol>
696<h2 id="外存储器(外存)"><a href="#外存储器(外存)" class="headerlink" title="外存储器(外存)"></a>外存储器(外存)</h2><ol>
697<li>硬盘(由磁道和扇区组成)<br> 功能:长期保存二进制信息<br> 特点:可读可写,容量很大,可靠性高,成本极低<br> 分类:机械硬盘,固态硬盘,移动硬盘 <div class="hide-block"><button type="button" class="hide-button" style="background-color:  blue;">点我预览
698    </button><div class="hide-content"><p>这里有张图片:<br><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb3e46bc0aa.png" alt="固态硬盘(SSD)" style="zoom:67%;" /><br><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb3e46bbc10.png" alt="移动硬盘" style="zoom:67%;" /><br><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb3e46cdc33.png" alt="机械硬盘" style="zoom:67%;" /></p>
699</div></div>
700 机械和固态最主要区别:<font color="red">固态存取速度比机械要快</font><br> 接口类型:前些年使用:并行ATA(PATA)接口;当前流行:串行ATA(<code>SATA</code>)接口</li>
701<li>U盘,存储卡<br> U盘:属于<u>半导体集成电路存储器</u>,采用USB接口<del>说了句废话</del><br> 存储卡:原理与U盘相同,采用印刷接口</li>
702<li>光盘存储器<br> 分类:CD(红外光,650MB);DVD(红光,大于等于4.7GB);BD(蓝光,大于等于25GB)</li>
703</ol>
704<h2 id="信息在计算机中的表示"><a href="#信息在计算机中的表示" class="headerlink" title="信息在计算机中的表示"></a>信息在计算机中的表示</h2><ol>
705<li><p>比特(bit)中文译为”二进制数字”,”二进位”简称”位”,用小写字母<code>b</code>表示<br> 比特只有两种取值0,1(三无:无重量,无颜色,<code>无大小</code>)<br> 比特是组成数字信息的<u>最小单位</u></p>
706 <div class="tabs" id="内存换算"><ul class="nav-tabs"><li class="tab"><button type="button" data-href="#内存换算-1">内存换算</button></li><li class="tab"><button type="button" data-href="#内存换算-2">外存换算</button></li></ul><div class="tab-contents"><div class="tab-item-content" id="内存换算-1"><p>1KB&#x3D;2^10B&#x3D;1024B<br>1MB&#x3D;2^20B&#x3D;1024KB<br>1GB&#x3D;2^30B&#x3D;1024MB<br>…</p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div><div class="tab-item-content" id="内存换算-2"><p>外存储器容量常用10的幂次来计算<br>1KB&#x3D;10^3B&#x3D;1000B<br>1MB&#x3D;10^6B&#x3D;1000KB<br>1GB&#x3D;10^9B&#x3D;1000MB<br>…</p><button type="button" class="tab-to-top" aria-label="scroll to top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></button></div></div></div>
707<p> 比特的传输:传输速率表示每秒钟可传输的二进位数目<br> 常用单位:比特&#x2F;秒(<code>b/s</code>),也称”bps”如2400bps(2400b<br> &#x2F;s)<br> 千比特&#x2F;秒(<code>kb/s</code>) 1kb&#x2F;s&#x3D;10^3b&#x2F;s&#x3D;1000b&#x2F;s</p>
708</li>
709<li><p>常用进制</p>
710<ul>
711<li>十进制(0,1,2···9),标志:尾部加D或缺省<br> 例:204.96&#x3D;2x10^2+0x10^1+4x10^0+9x10^-1+6x10^-2</li>
712<li>二进制(0,1),标志:尾部加B<br> 例:101.01B&#x3D;1x2^2+0x2^1+1x2^0+0x2^-1+1x2^-2&#x3D;5.25</li>
713<li>八进制(0,1,2…7),标志:尾部加Q</li>
714<li>十六进制(0,1,2…A,B…F),标志:尾部加H<br> 例:F5.4H&#x3D;15x16^1+5x16^0+4x16^-1&#x3D;245.25 <details class="folding-tag" yellow><summary> 不同进制间的相互转换 </summary>
715              <div class='content'>
716              <p>十进制转二进制:<br>整数部分:除以2 逆序取余<br>小数部分:乘以2 顺序取整<br><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb548c3966d.png" alt="十进制转二进制"><br>二进制转八进制和十六进制,偷个懒直接上图吧<br><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb55b92c5b0.jpg" alt="421和8421法则"></p>
717              </div>
718            </details></li>
719</ul>
720</li>
721<li><p>整数编码表示</p>
722<ul>
723<li>无符号整数的表示:采用<code>自然码</code>表示,直接二进制展开</li>
724<li>取值范围:8位无符号整数的表示范围是0~255((2^8)-1) <
724div class="note warning modern"><p>无符号n位二进制表示范围:0-2^(n-1)<br>无符号n位原码表示范围:-2^(n-1)+1<del>2^(n-1)-1<br>无符号n位补码表示范围:-2^(n-1)</del>2^(n-1)-1<br>无符号n位反码表示范围:-2^(n-1)+1~2^(n-1)-1<br>重要规律<br>1.若一个十进制数是(2^n)-1,则化成二进制数则是:1…1(n个1)<br>2.1000…0(1后面有n个0),其值为2^n<br><del>看晕了?没事,我也晕了;可是这玩意就是很重要233</del></p>
725</div></li>
726</ul>
727</li>
728<li><p>原码,反码与补码(符号位为0表示正数,为1表示负数)</p>
729<ul>
730<li>原码:正数的原码等于反码等于补码</li>
731<li>反码:对正数来说,其反码和原码形式相同;对负数来说,反码为其原码数值部分各位<code>取反</code>,符号位不变<br>   例:1001的反码:1110(符号位不变,其余位取反)</li>
732<li>补码:<u>正数的补码为其本身</u>补码的补码即为原码<br>  负数如何用补码表示:1.先把绝对值表示为自然码 2.将自然码每一位取反码 3.在最低位加1<br>  上例子:[-43]用8位补码表示<br>  ①-43转换成二进制原码为<code>10101011</code><br>  ②取反码: <code>11010100</code><br>  ③加一: <code>11010101</code></li>
733<li>0在原码和反码中有两种表示,在补码中只有一种表示方式。<br>  <img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://icon.yejinblok.cn/img/0001.png" alt="0在原码反码补码的表示"> <div class="note warning modern"><p>补码运算时要注意的问题:<br>1.补码运算时,其<code>符号位</code>与数值部分一起参与运算<br>2.补码的符号位相加后,<u>如果有进位出现,要把这个进位舍去(自然丢失)</u><br>3.用补码运算,其结果亦为补码;在转换为真值时,其符号位为0,数位不变;若符号位为1,应将结果求补才是其真值</p>
734</div></li>
735</ul>
736</li>
737</ol>
738<h1 id="补充"><a href="#补充" class="headerlink" title="补充"></a>补充</h1><ol>
739<li>二进制的表示逻辑<br> <code>真</code>用1表示,<code>假</code>用0表示<br> 逻辑乘法(<code>逻辑与</code>运算):运算符(and ^),运算规则:按位运算,全1为1,否则为0<br> 逻辑加法(<code>逻辑或</code>运算):运算符(or v),运算规则:按位运算,全0为0,否则为1<br> 逻辑否定(<code>逻辑非</code>运算):运算符(not -),运算规则:按位运算,1取反为0,0取反为1<br> 异或运算:运算符(⊕),运算规则:相同为0,否则为1</li>
740<li>计算机使用二进制的原因之一是<u>具有2个稳定状态的电子器件比较容易制造</u></li>
741<li>定点数和浮点数<ul>
742<li>定点数可以表示整数或小数(由小数点的位置决定)</li>
743<li>浮点数纯小数部分(尾部)越长,精度越高</li>
744</ul>
745</li>
746<li>半导体存储器分为<code>RAM</code>和<code>ROM</code><br> <code>RAM</code>又分为<code>SRAM</code>(静态随机)和<code>DRAM</code>(动态随机)<table>
747<thead>
748<tr>
749<th align="center">SRAM</th>
750<th align="center">DRAM</th>
751</tr>
752</thead>
753<tbody><tr>
754<td align="center">不需要刷新</td>
755<td align="center">每10~100ms刷新一次</td>
756</tr>
757<tr>
758<td align="center">读写速度较快</td>
759<td align="center">读写速度较慢</td>
760</tr>
761<tr>
762<td align="center">电路相对复杂</td>
763<td align="center">电路相对简单</td>
764</tr>
765<tr>
766<td align="center">集成度低</td>
767<td align="center">集成度高</td>
768</tr>
769<tr>
770<td align="center">能耗低</td>
771<td align="center">能耗高</td>
772</tr>
773<tr>
774<td align="center">成本较高</td>
775<td align="center">成本较低</td>
776</tr>
777<tr>
778<td align="center">一般用于cache存储器</td>
779<td align="center">一般用于主存</td>
780</tr>
781</tbody></table>
782 硬盘的CACHE主要由DRAM组成</li>
783<li>计算机启动顺序:<code>POST</code>-&gt;<code>自举程序</code>-&gt;<code>引导程序</code>-&gt;<code>操作系统</code></li>
784<li>CD: <code>CD-ROM</code>(只读),<code>CD-R</code>(限写一次可写多次),<code>CD-RW</code>(可擦写)</li>
785<li>硬盘中不同磁道上所有扇区能存储的数据量是<u>相同的,存取密度不同</u></li>
786<li>左移与右移<ul>
787<li>左移表示扩大,每左移n位就是原来的m^n倍,m为进制基数,<code>逻辑左移与算术左移都是在末尾添0</code></li>
788<li>右移表示缩小,每右移n位就是原来的1&#x2F;m^n倍,m为进制基数,<code>逻辑右移,右移后左边补0</code>,<code>算术右移,右移后左边补对应符号位</code></li>
789</ul>
790</li>
791<li>软件容量的计算:软件容量&#x3D;
791磁道数x扇区数x盘面数x每扇区存区数</li>
792<li>内存寻址范围取决于地址线位数的多少(n),可寻址空间为2^n(0也算),所以可寻址范围为0~(2^n)-1</li>
793<li>地址总线的<code>位数</code>直接决定了CPU可直接寻址的空间大小</li>
794<li>硬盘的平均等待时间计算公式&#x3D;磁盘旋转一圈时间的一半&#x3D;<code>60/转速</code><br>平均存取时间&#x3D;寻道时间+旋转等待时间+数据传输时间</li>
795<li>硬盘上的一个扇区要用三个参数进行定位,分别是:柱面号,磁头号,扇区号</li>
796<li>通信技术主要用于扩展人的<code>神经系统传递信息的功能</code></li>
797<li>指令计数器:<font color="red">用来存取CPU正在执行指令的地址</font><br>指令寄存器:用来保存当前正在执行的指令</li>
798<li>集成度分类:(由小到极大)SSI,MSI,LSI,VLSL,ULSL</li>
799<li>南桥:I&#x2F;O控制中心;北桥:存储控制中心</li>
800<li><code>cache中的数据是内存的映射</code></li>
801<li>PC机中,管理I&#x2F;O设备运行全过程是<code>I/O控制器</code></li>
802<li>磁道是由里向外的同心圆;每个同心圆是一个磁道</li>
803<li>十进制转二进制无法实现精确转换</li>
804<li>USB2.0用4线接口;USB3.0用6线接口</li>
805<li>操作系统管理用户数据的单位是<code>文件</code></li>
806</ol>
807</article><div class="post-copyright"><div class="copyright-cc-box"><i class="anzhiyufont anzhiyu-icon-copyright"></i></div><div class="post-copyright__author_box"><a class="post-copyright__author_img" href="/" title="头像"><img class="post-copyright__author_img_back" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/09/11/64fe7d926f8a0.jpg" title="头像" alt="头像"><img class="post-copyright__author_img_front" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/09/11/64fe7d926f8a0.jpg" title="头像" alt="头像"></a><div class="post-copyright__author_name">新奥尔良姬翅</div><div class="post-copyright__author_desc">无论什么时候,都不要后悔</div></div><div class="post-copyright__post__info"><a class="post-copyright__original" title="该文章为原创文章,注意版权协议" href="https://www.yejinblok.cn/posts/51509cba.html">原创</a><a class="post-copyright-title"><span onclick="rm.copyPageUrl('https://www.yejinblok.cn/posts/51509cba.html')">计算机应用基础笔记(一)</span></a></div><div class="post-tools" id="post-tools"><div class="post-tools-left"><div class="rewardLeftButton"><div class="post-reward" onclick="anzhiyu.addRewardMask()"><div class="reward-button button--animated" title="赞赏作者"><i class="anzhiyufont anzhiyu-icon-hand-heart-fill"></i>打赏作者</div><div class="reward-main"><div class="reward-all"><span class="reward-title">感谢你赐予我前进的力量</span><ul class="reward-group"><li class="reward-item"><a href="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e828c.jpg" target="_blank"><img class="post-qr-code-img" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e828c.jpg" alt="wechat"/></a><div class="post-qr-code-desc">wechat</div></li><li class="reward-item"><a href="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e5ac9.jpg" target="_blank"><img class="post-qr-code-img" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/07/64d0fab2e5ac9.jpg" alt="alipay"/></a><div class="post-qr-code-desc">alipay</div></li></ul><a class="reward-main-btn" href="/about/#about-reward" target="_blank"><div class="reward-text">赞赏者名单</div><div class="reward-dec">
807因为你们的支持让我意识到写文章的价值🙏</div></a></div></div></div><div id="quit-box" onclick="anzhiyu.removeRewardMask()" style="display: none"></div></div><div class="shareRight"><div class="share-link mobile"><div class="share-qrcode"><div class="share-button" title="使用手机访问这篇文章"><i class="anzhiyufont anzhiyu-icon-qrcode"></i></div><div class="share-main"><div class="share-main-all"><div id="qrcode" title="https://www.yejinblok.cn/posts/51509cba.html"></div><div class="reward-dec">使用手机访问这篇文章</div></div></div></div></div><div class="share-link weibo"><a class="share-button" target="_blank" href="https://service.weibo.com/share/share.php?title=计算机应用基础笔记(一)&amp;url=https://www.yejinblok.cn/posts/51509cba.html&amp;pic=https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp" rel="external nofollow noreferrer noopener"><i class="anzhiyufont anzhiyu-icon-weibo"></i></a></div><div class="share-link copyurl"><div class="share-button" id="post-share-url" title="复制链接" onclick="rm.copyPageUrl()"><i class="anzhiyufont anzhiyu-icon-link"></i></div></div></div></div></div><div class="post-copyright__notice"><span class="post-copyright-info">本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://www.yejinblok.cn" target="_blank">吮指原味姬</a>!</span></div></div><div class="post-tools-right"><div class="tag_share"><div class="post-meta__box"><div class="post-meta__box__tag-list"><a class="post-meta__box__tags" href="/tags/%E7%AC%94%E8%AE%B0/"><span class="tags-punctuation"> <i class="anzhiyufont anzhiyu-icon-tag"></i></span>笔记<span class="tagsPageCount">10</span></a><a class="post-meta__box__tags" href="/tags/%E8%AE%A1%E7%AE%97%E6%9C%BA/"><span class="tags-punctuation"> <i class="anzhiyufont anzhiyu-icon-tag"></i></span>计算机<span class="tagsPageCount">6</span></a></div></div></div><div class="post_share"><div class="social-share" data-image="https://img01.anheyu.com/useruploads/243/2023/12/28/658d5b0178051.jpg" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.cbd.int/[email protected]/sharejs/dist/css/share.min.css" media="print" onload="this.media='all'"/>
807<script src="https://cdn.cbd.int/[email protected]/sharejs/dist/js/social-share.min.js" defer="defer"></script>
807</div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/posts/fed1faec.html"><img class="prev-cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb6ba637891.jpg" onerror="onerror=null;src='/assets/r1.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">hexo魔改教程合集</div></div></a></div><div class="next-post pull-right"><a href="/posts/52bd0754.html"><img class="next-cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb6bbdd680a.png" onerror="onerror=null;src='/assets/r1.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">给博客添加一个字数统计(书名版)</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="anzhiyufont anzhiyu-icon-thumbs-up fa-fw" style="font-size: 1.5rem; margin-right: 4px"></i><span>相关推荐</span></div><div class="relatedPosts-list"><div><a href="/posts/61467062.html" title="计算机应用基础笔记(二)"><img class="cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp" alt="cover"><div class="content is-center"><div class="date"><i class="anzhiyufont anzhiyu-icon-calendar-days fa-fw"></i> 2023-08-06</div><div class="title">计算机应用基础笔记(二)</div></div></a></div><div><a href="/posts/2c58d330.html" title="计算机应用基础笔记(三)"><img class="cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp" alt="cover"><div class="content is-center"><div class="date"><i class="anzhiyufont anzhiyu-icon-calendar-days fa-fw"></i> 2023-08-16</div><div class="title">计算机应用基础笔记(三)</div></div></a></div><div><a href="/posts/9b75ca55.html" title="计算机应用基础笔记(四)"><img class="cover" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/08/03/64cb2d535bebc.webp" alt="cover"><div class="content is-center"><div class="date"><i class="anzhiyufont anzhiyu-icon-calendar-days fa-fw"></i> 2023-08-30</div><div class="title">计算机应用基础笔记(四)</div></div></a></div></div></div><hr/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="anzhiyufont anzhiyu-icon-comments"></i><span> 评论</span></div><div class="comment-randomInfo"><a onclick="anzhiyu.addRandomCommentInfo()" href="javascript:void(0)">匿名评论</a></div><div class="comment-tips" id="comment-tips"><span>✅ 你无需删除空行,直接评论以获取最佳展示效果</span></div></div><div class="comment-wrap"><div><div id="twikoo-wrap"></div></div></div></div><div class="comment-barrage"></div></div><div class="aside-content" id="aside-content"><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="anzhiyufont anzhiyu-icon-bars"></i><span>文章目录</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A1%AC%E4%BB%B6"><span class="toc-number">1.</span> <span class="toc-text">计算机硬件</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF"><span class="toc-number">1.1.</span> <span class="toc-text">计算机基本信息</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E9%9B%86%E6%88%90%E7%94%B5%E8%B7%AF%EF%BC%88IC%EF%BC%89"><span class="toc-number">1.2.</span> <span class="toc-text">集成电路(IC)</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#PC%E4%B8%BB%E6%9C%BA%E7%9A%84%E7%BB%84%E6%88%90"><span class="toc-number">1.3.</span> <span class="toc-text">PC主机的组成</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%B8%B8%E7%94%A8%E8%BE%93%E5%85%A5%E8%AE%BE%E5%A4%87"><span class="toc-number">1.4.</span> <span class="toc-text">常用输入设备</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%B8%B8%E7%94%A8%E8%BE%93%E5%87%BA%E8%AE%BE%E5%A4%87"><span class="toc-number">1.5.</span> <span class="toc-text">常用输出设备</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%A4%96%E5%AD%98%E5%82%A8%E5%99%A8%EF%BC%88%E5%A4%96%E5%AD%98%EF%BC%89"><span class="toc-number">1.6.</span> <span class="toc-text">外存储器(外存)</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%BF%A1%E6%81%AF%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E7%9A%84%E8%A1%A8%E7%A4%BA"><span class="toc-number">1.7.</span> <span class="toc-text">信息在计算机中的表示</span></a></li></ol></li><li class="toc-item toc-level-1"><a class="toc-link" href="#%E8%A1%A5%E5%85%85"><span class="toc-number">2.</span> <span class="toc-text">补充</span></a></li></ol></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div id="footer-left"><div class="footer-title"><span>吮指原味姬|</span><span class="footer-copyright">&copy;2023 - undefined By 新奥尔良姬翅</span></div><div class="footer-button"><a title="GitHub" target="_blank" rel="noopener" href="https://github.com/planck2003"><i class="fab fa-github"></i></a><a title="微博" target="_blank" rel="noopener" href="https://www.weibo.com/u/6648895897"><i class="fab fa-weibo"></i></a><a title="bilibili" target="_blank" rel="noopener" href="https://space.bilibili.com/287047437?spm_id_from=333.1007.0.0"><i class="fab fa-bilibili"></i></a><a title="twitterb" href="https://www.yejinblok.cn/"><i class="fab fa-twitter"></i></a><a title="QQ" target="_blank" rel="noopener" href="https://user.qzone.qq.com/2732916179/infocenter"><i class="fa-brands fa-qq"></i></a></div><div class="wordcount"></div><span>新奥尔良姬翅已经写了 46.7k 字,</span><span>还在努力更新中.. 加油!加油啦!</span></div><div id="footer-right"><div class="footer-totop"><i class="fas fa-chevron-up" onclick="scrollToTop()"></i></div><div class="footer-info"><p>使用Hexo框架 | Anzhiyu主题</p><a title="萌ICP备20223993号" target="_blank" rel="noopener" href="https://icp.gov.moe/?keyword=20230921">萌ICP备20230921号</a></div><div class="footer-service"><a title="51LA" target="_blank" rel="noopener" href="https://www.51.la"><img alt="51LA" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://cdn.ichika.cc/typora/202211071552427.png!towebp"/></a><a title="CC BY-NC-SA 4.0" target="_blank" rel="noopener" href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh"><img alt="CC BY-NC-SA 4.0" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://cdn.ichika.cc/typora/202211071552856.png!towebp"/></a></div></div></div></footer></div></div></div><div id="sidebar"><div id="sidebar-menus"><div class="avatar-img is-center"><img src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://img01.anheyu.com/useruploads/243/2023/09/11/64fe7d926f8a0.jpg" onerror="onerror=null;src='/assets/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/" title="archive"><div class="headline">文章</div><div class="length-num">19</div></a><a href="/tags/" title="tag"><div class="headline">标签</div><div class="length-num">13</div></a><a href="/categories/" title="category"><div class="headline">分类</div><div class="length-num">4</div></a></div><div class="menus_items"><div class="menus_item">
807<a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-ghost faa-tada"></i><span> 文章</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/archives/"><i class="anzhiyufont anzhiyu-icon-box-archive faa-tada" style="font-size: 0.9em;"></i><span> 隧道</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/categories/"><i class="anzhiyufont anzhiyu-icon-shapes faa-tada" style="font-size: 0.9em;"></i><span> 分类</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/tags/"><i class="anzhiyufont anzhiyu-icon-tags faa-tada" style="font-size: 0.9em;"></i><span> 标签</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-feather faa-tada"></i><span> 社交</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/link/"><i class="anzhiyufont anzhiyu-icon-link faa-tada" style="font-size: 0.9em;"></i><span> 友人帐</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/fcircle/"><i class="anzhiyufont anzhiyu-icon-artstation faa-tada" style="font-size: 0.9em;"></i><span> 朋友圈</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/comments/"><i class="anzhiyufont anzhiyu-icon-envelope faa-tada" style="font-size: 0.9em;"></i><span> 留言板</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-wrench faa-tada"></i><span> 工具</span></a><ul class="menus_item_child" style="left:-31px;"><li><a class="site-page child faa-parent animated-hover" href="/game/"><i class="fa-regular fa-gamepad faa-tada"></i><span> 小游戏</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/daohang/"><i class="fa-brands fa-chrome faa-tada"></i><span> 资源导航</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-blog faa-tada"></i><span> 我的</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/music/?id=8589095176&amp;server=netease"><i class="anzhiyufont anzhiyu-icon-music faa-tada" style="font-size: 0.9em;"></i><span> 音乐馆</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/equipment/"><i class="fa-brands fa-steam faa-tada"></i><span> 游戏玩家</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/todolist/"><i class="fa-brands fa-github-alt faa-tada"></i><span> 想做的事</span></a></li></ul></div><div class="menus_item"><a class="site-page faa-parent animated-hover" href="javascript:void(0);"><i class="fa-solid fa-location-dot faa-tada"></i><span> 关于</span></a><ul class="menus_item_child" style="left:-79px;"><li><a class="site-page child faa-parent animated-hover" href="/about/"><i class="anzhiyufont anzhiyu-icon-paper-plane faa-tada" style="font-size: 0.9em;"></i><span> 关于本人</span></a></li><li><a class="site-page child faa-parent animated-hover" href="/essay/"><i class="anzhiyufont anzhiyu-icon-lightbulb faa-tada" style="font-size: 0.9em;"></i><span> 闲言碎语</span></a></li><li><a class="site-page child faa-parent animated-hover" href="javascript:toRandomPost()"><i class="anzhiyufont anzhiyu-icon-shoe-prints1 faa-tada" style="font-size: 0.9em;"></i><span> 随便逛逛</span></a></li></ul></div></div></div></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="anzhiyufont anzhiyu-icon-book-open"></i></button><button id="translateLink" type="button" title="简繁转换">繁</button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="anzhiyufont anzhiyu-icon-circle-half-stroke"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="anzhiyufont anzhiyu-icon-arrows-left-right"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-solid fa-gear"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="anzhiyufont anzhiyu-icon-list-ul"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="anzhiyufont anzhiyu-icon-comments"></i></a><a id="switch_commentBarrage" href="javascript:anzhiyu.switchCommentBarrage();" title="开关弹幕"><i class="anzhiyufont anzhiyu-icon-danmu"></i></a><button id="go-up" type="button" title="回到顶部"><i class="fas fa-solid fa-angles-up"></i></button></div></div><div id="nav-music">
807<a id="nav-music-hoverTips" onclick="anzhiyu.musicToggle()" accesskey="m">播放音乐</a><div id="console-music-bg"></div><meting-js id="8589095176" server="netease" type="playlist" mutex="true" preload="none" theme="var(--anzhiyu-main)" data-lrctype="0" order="random"></meting-js></div><div id="algolia-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><button class="search-close-button"><i class="anzhiyufont anzhiyu-icon-xmark"></i></button></nav><div class="search-wrap"><div id="algolia-search-input"></div><hr/><div id="algolia-search-results"><div id="algolia-hits"></div><div id="algolia-pagination"></div><div id="algolia-info"><div class="algolia-stats"></div><div class="algolia-poweredBy"></div></div></div></div></div><div id="search-mask"></div></div><div id="rightMenu"><div class="rightMenu-group rightMenu-small"><div class="rightMenu-item" id="menu-backward"><i class="anzhiyufont anzhiyu-icon-arrow-left"></i></div><div class="rightMenu-item" id="menu-forward"><i class="anzhiyufont anzhiyu-icon-arrow-right"></i></div><div class="rightMenu-item" id="menu-refresh"><i class="anzhiyufont anzhiyu-icon-arrow-rotate-right" style="font-size: 1rem;"></i></div><div class="rightMenu-item" id="menu-top"><i class="anzhiyufont anzhiyu-icon-arrow-up"></i></div></div><div class="rightMenu-group rightMenu-line rightMenuPlugin"><div class="rightMenu-item" id="menu-copytext"><i class="anzhiyufont anzhiyu-icon-copy"></i><span>复制选中文本</span></div><div class="rightMenu-item" id="menu-pastetext"><i class="anzhiyufont anzhiyu-icon-paste"></i><span>粘贴文本</span></div><a class="rightMenu-item" id="menu-commenttext"><i class="anzhiyufont anzhiyu-icon-comment-medical"></i><span>引用到评论</span></a><div class="rightMenu-item" id="menu-newwindow"><i class="anzhiyufont anzhiyu-icon-window-restore"></i><span>新窗口打开</span></div><div class="rightMenu-item" id="menu-copylink"><i class="anzhiyufont anzhiyu-icon-link"></i><span>复制链接地址</span></div><div class="rightMenu-item" id="menu-copyimg"><i class="anzhiyufont anzhiyu-icon-images"></i><span>复制此图片</span></div><div class="rightMenu-item" id="menu-downloadimg"><i class="anzhiyufont anzhiyu-icon-download"></i><span>下载此图片</span></div><div class="rightMenu-item" id="menu-newwindowimg"><i class="anzhiyufont anzhiyu-icon-window-restore"></i><span>新窗口打开图片</span></div><div class="rightMenu-item" id="menu-search"><i class="anzhiyufont anzhiyu-icon-magnifying-glass"></i><span>站内搜索</span></div><div class="rightMenu-item" id="menu-searchBaidu"><i class="anzhiyufont anzhiyu-icon-magnifying-glass"></i><span>百度搜索</span></div><div class="rightMenu-item" id="menu-music-toggle"><i class="anzhiyufont anzhiyu-icon-play"></i><span>播放音乐</span></div><div class="rightMenu-item" id="menu-music-back"><i class="anzhiyufont anzhiyu-icon-backward"></i><span>切换到上一首</span></div><div class="rightMenu-item" id="menu-music-forward"><i class="anzhiyufont anzhiyu-icon-forward"></i><span>切换到下一首</span></div><div class="rightMenu-item" id="menu-music-playlist" onclick="window.open(&quot;https://music.163.com/#/my/m/music/playlist?id=8589095176&quot;, &quot;_blank&quot;);" style="display: none;"><i class="anzhiyufont anzhiyu-icon-radio"></i><span>查看所有歌曲</span></div><div class="rightMenu-item" id="menu-music-copyMusicName"><i class="anzhiyufont anzhiyu-icon-copy"></i><span>复制歌名</span></div></div><div class="rightMenu-group rightMenu-line rightMenuOther"><a class="rightMenu-item menu-link" id="menu-randomPost"><i class="anzhiyufont anzhiyu-icon-shuffle"></i><span>随便逛逛</span></a><a class="rightMenu-item menu-link" href="/categories/"><i class="anzhiyufont anzhiyu-icon-cube"></i><span>博客分类</span></a><a class="rightMenu-item menu-link" href="/tags/"><i class="anzhiyufont anzhiyu-icon-tags"></i><span>文章标签</span></a></div><div class="rightMenu-group rightMenu-line rightMenuOther"><a class="rightMenu-item" id="menu-copy" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-copy"></i><span>复制地址</span></a><a class="rightMenu-item" id="menu-commentBarrage" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-message"></i><span class="menu-commentBarrage-text">关闭热评</span></a><a class="rightMenu-item" id="menu-darkmode" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-circle-half-stroke"></i><span class="menu-darkmode-text">深色模式</span></a><a class="rightMenu-item" id="menu-translate" href="javascript:void(0);"><i class="anzhiyufont anzhiyu-icon-language"></i><span>轉為繁體</span></a></div></div><div id="rightmenu-mask"></div><div id="he-plugin-simple"></div>
807<script>var WIDGET = {
808  "CONFIG": {
809    "modules": "0124",
810    "background": "2",
811    "tmpColor": "FFFFFF",
812    "tmpSize": "16",
813    "cityColor": "FFFFFF",
814    "citySize": "16",
815    "aqiColor": "E8D87B",
816    "aqiSize": "16",
817    "weatherIconSize": "24",
818    "alertIconSize": "18",
819    "padding": "10px 10px 10px 10px",
820    "shadow": "0",
821    "language": "auto",
822    "borderRadius": "20",
823    "fixed": "true",
824    "vertical": "top",
825    "horizontal": "left",
826    "left": "20",
827    "top": "7.1",
828    "key": "df245676fb434a0691ead1c63341cd94"
829  }
830}
831</script>
831<link rel="stylesheet" href="https://widget.qweather.net/simple/static/css/he-simple.css?v=1.4.0"/>
831<script src="https://widget.qweather.net/simple/static/js/he-simple.js?v=1.4.0"></script>
831<div>
831<script src="/js/utils.js"></script>
831<script src="/js/main.js"></script>
831<script src="/js/tw_cn.js"></script>
831<script src="https://cdn.cbd.int/@fancyapps/[email protected]/dist/fancybox/fancybox.umd.js"></script>
831<script src="https://cdn.cbd.int/[email protected]/instantpage.js" type="module"></script>
831<script src="https://cdn.cbd.int/[email protected]/dist/lazyload.iife.min.js"></script>
831<script src="https://cdn.cbd.int/[email protected]/dist/snackbar.min.js"></script>
831<canvas id="universe"></canvas>
831<script async src="https://npm.elemecdn.com/[email protected]/dark/dark.js"></script>
831<script>// 消除控制台打印
832var HoldLog = console.log;
833console.log = function () {};
834let now1 = new Date();
835queueMicrotask(() => {
836  const Log = function () {
837    HoldLog.apply(console, arguments);
838  }; //在恢复前输出日志
839  const grt = new Date("08/01/2023 00:00:00"); //此处修改你的建站时间或者网站上线时间
840  now1.setTime(now1.getTime() + 250);
841  const days = (now1 - grt) / 1000 / 60 / 60 / 24;
842  const dnum = Math.floor(days);
843  const ascll = [
844    `欢迎使用anzhiyu主题`,
845    `嘿,你在这儿呢`,
846    `
847        
848              ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⣕⣨⣺⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠗⠗⠗⠅⠗⠗⠷⢿⣺⣸⣍⡗⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
849      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣥⣪⣿⣿⣿⣿⣿⣿⣿⣿⠿⠗⠅⠁⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠅⠅⠓⠰⢍⠷⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
850      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢕⣫⣾⣿⣿⣿⣿⣿⣿⡿⠗⠅⠀⢀⣠⣨⣺⣿⣿⣿⣿⣸⡀⠀⠀⠀⠀⣀⣨⣈⡀⠀⠀⠀⠀⠇⠰⣇⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
851      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢝⣪⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⢀⣨⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢡⣺⣺⣿⣿⣿⣿⣿⣿⣸⣀⠀⠀⢀⠀⠄⠓⠏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
852      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢡⣾⣿⣿⣿⣿⣿⣿⠟⠁⢀⣨⣾⣿⣿⡟⣻⣿⣿⣿⣿⣿⣿⡟⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⡺⣿⣿⣸⡀⠄⠰⠷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
853      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣢⣿⣿⣿⣿⣿⣿⠟⠁⢀⣪⣿⣿⣿⣿⢿⣾⣿⣿⣿⣿⢕⣿⡟⠀⣦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡙⢿⣿⣿⣿⣸⡀⠀⠧⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
854      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢢⣿⣿⣿⣿⣿⣿⠝⢀⣪⣿⣿⣿⣿⡿⢱⣾⣿⣿⣿⣿⠙⣾⡿⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⣹⢦⣿⣿⣿⣿⣿⣈⠀⢷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
855      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢡⣿⣿⣿⣿⣿⣿⠙⣠⣿⣿⣿⣿⣿⡿⢡⣿⣿⣿⣿⣿⠝⣦⣿⠑⠀⢦⣿⠽⣿⣿⣿⣿⣿⣿⣿⡙⣿⣿⣿⣿⠆⣿⣿⣿⣿⣿⣿⣘⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
856      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠑⡾⣿⣿⣿⣿⣿⡝⣢⣿⣿⣿⣿⣿⣿⢡⣿⢿⣿⣿⣿⠝⢀⣭⡍⠀⠀⡗⣿⢶⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⡈⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
857      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⡦⣢⣿⣿⣿⣿⣿⢡⣿⣿⣿⣿⣿⣿⢙⣿⢑⣾⣿⠝⡝⠀⢦⡿⠀⢠⢠⣿⡙⣦⣿⣿⣿⣿⣿⣿⡿⢀⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⢧⣿⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
858      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⢡⣿⣿⣿⣿⣿⡝⣮⣿⣿⣿⣿⣿⡟⣦⠝⣮⣿⠝⡮⠀⠀⣿⠑⢀⣌⢦⣿⠀⣿⣿⣿⣿⣿⡟⣧⠙⢦⣿⡗⠷⢿⠀⣿⣿⣿⣽⣧⣿⠀⣿⡙⢷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
859      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠑⣢⣿⣿⣿⣿⣿⣿⢁⣿⣿⣿⣿⣿⣿⠁⡟⢦⣿⡝⢢⠁⢠⢀⡟⢀⣾⡙⢦⡝⠀⣿⣿⣿⣿⣿⠙⡿⠀⢦⣿⡙⣦⡘⠀⣿⣿⣿⣿⢶⣿⠀⣿⣿⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
860      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠙⣢⣿⠑⣿⣿⣿⣿⠑⢦⣿⣿⣿⣿⣿⡝⢢⠑⠅⠀⠀⠀⠀⠆⠆⠑⢨⣍⡑⣮⠑⢠⣿⣿⣿⣿⡿⢠⠙⠀⣗⣿⠀⣿⠙⠀⣿⣿⣿⡟⢦⣿⢢⣿⣿⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
861      ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠝⣢⣿⠙⢠⣿⣿⡿⠁⠀⣦⣿⣿⣿⣿⣿⠑⠀⠀⣪⡨⢀⣨⡈⠀⠀⠀⠀⠀⠁⢮⠀⢦⣿⣿⣿⣿⠙⡎⠀⢢⣿⡙⠀⣿⠀⠀⣿⣿⣿⡙⣮⣿⢦⣿⢷⠄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
862      ⣿⣿⣿⣿⣿⣿⣿⣿⡿⢕⣮⣿⡿⠀⣾⣿⡟⠁⢀⡀⣿⣿⣿⣿⣿⣿⠀⢠⢦⡟⠀⠀⠅⠁⠀⠀⠀⢂⣠⣌⣼⣮⣌⡷⠿⣿⡟⠀⢣⠀⠶⠿⠀⢦⠙⠀⠀⣿⣿⣿⠑⣿⡙⣮⣿⢦⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
863      ⣿⣿⣿⣿⣿⣿⣿⡟⣡⣿⣿⣿⡙⣦⣿⡟⠀⢢⣿⡙⣿⣿⣿⣿⣿⣿⠀⢦⣾⠁⠀⠀⠀⠀⠀⠀⠀⢦⣿⣿⣿⣿⣿⣿⣻⣺⣺⣺⠹⠀⠅⠁⠀⠿⠀⠀⢦⣿⣿⣿⢦⣿⢁⣿⣿⢦⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
864      ⣿⣿⣿⣿⣿⣿⣿⢢⣿⣿⣿⣿⢡⣿⡿⠁⠀⣿⡙⠀⣿⣿⣿⣿⣿⣿⠀⢦⣿⣙⠀⢠⡺⠨⣨⡈⢀⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣈⣀⠀⠀⠀⠀⠀⠦⢿⣿⡙⣾⡝⡎⣦⡝⣮⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
865      ⣿⣿⣿⣿⣿⣿⣿⠦⣿⣿⣿⡟⢦⣿⠑⠀⠀⣿⣻⡈⢿⠗⠕⠗⢿⣿⠀⢦⣿⣿⣻⣸⣍⣅⣥⣪⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠇⠕⠀⠀⠀⢠⣀⠀⢄⠷⢠⣿⢡⢑⣿⠑⣿⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
866      ⢷⣿⣿⣿⣿⣿⣿⣘⢷⣿⣿⡙⢦⡟⠀⠀⠀⠆⣿⡙⠀⠀⠀⠀⠀⠆⠀⢦⣿⣿⣟⣽⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢦⡟⢢⠛⠀⣮⢙⡜⣮⡿⢠⢦⡙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
867      ⡈⣿⣿⣿⣿⣿⣿⣿⣘⠷⣿⣿⠀⠑⠀⠀⠀⠀⠄⠓⠀⠀⠀⠀⠀⠀⠀⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⢠⡸⢨⣨⠀⢀⣞⣢⠝⠀⠀⣨⣾⠁⣿⡙⣮⡈⡙⢧⣿⣿⣿⣿⣿⣿⣿⣿⣿
868      ⡙⢮⣿⣿⣿⣿⡿⣿⡿⢹⡇⢿⣙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣸⣍⣁⣡⣪⣿⣿⠑⠀⠀⣦⣿⡝⡀⣿⠑⣿⣻⣎⢆⣿⣿⣿⣿⣿⣿⣿⣿⣿
869      ⣙⣾⣿⣿⣿⣿⡿⡽⠔⠁⠀⠀⠇⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⢧⡷⣿⣿⣿⠙⠀⠀⢠⣿⣿⢁⣻⣬⣨⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
870      ⣿⣿⣿⣿⣿⢝⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣾⣾⡟⠀⠀⠀⡎⢧⡙⣦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
871      ⡿⠟⠷⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣘⠨⠀⣀⠀⠀⠀⠀⠀⠀⠀⠷⣿⣿⣿⣿⣿⣿⣿⣿⡟⠇⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠦⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
872      ⠀⠀⠀⢆⡿⢷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣩⣺⣿⣿⡘⠀⠀⠀⠀⠀⠀⠀⠀⠇⠷⢿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠕⠀⠀⠀⠀⠀⠀⠀⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
873      ⠀⠀⢠⠊⠕⠅⠁⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣹⠀⠀⠘⠀⠀⠀⠀⠀⠀⠀⠀⠄⠇⠗⠿⠿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠕⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
874      ⠀⡂⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⡈⠀⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
875      ⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣹⠀⠆⡙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡨⢜⣨⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
876      ⠆⡈⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣘⠀⢻⠀⠀⠀⠀⢀⠀⢀⡠⣈⣽⣭⣩⣾⣿⣿⣻⡈⠀⠀⠀⠀⠀⣿⡙⠀⠀⠀⠀⠀⡦⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
877      ⠄⠄⠀⠀⠀⠀⠀⠀⢠⠿⠗⠗⠗⠗⠗⠗⠗⠗⠷⠿⢿⣿⣿⣿â£
877ˆâ¢†â¡˜â €â €â¢†â£¥â£ºâ£â¢™â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â¡ˆâ €â €â €â €â£¿â €â €â €â €â €â €â¡™â €â¢ â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿â£¿
878      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠅⠅⠗⠿⢿⡈⠀⢆⢿⣿⡿⢐⢿⣿⡟⡗⣿⣿⣿⣿⣿⣿⡀⠀⢀⣾⣿⠀⠀⠀⠀⠀⢠⣿⠀⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
879      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡘⣾⢘⡡⣾⡙⢯⣿⡟⠐⠨⣍⡕⢔⣿⣿⣙⠀⢧⣿⣿⠀⢠⠀⠀⠀⢦⣿⠀⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
880      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡙⣪⣿⣿⣼⡑⡀⠀⠁⠀⣺⡸⣌⠄⢷⣿⣿⡀⢦⣿⣿⣈⠆⡘⠀⠀⢦⣿⣙⣦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
881      ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡙⣼⡷⢿⢟⡉⡙⠀⠀⠀⢧⣻⢧⡘⠄⠷⣿⡙⢮⣿⣿⣿⣿⣻⣨⣀⢦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
882        
883        `,
884    "已上线",
885    dnum,
886    "天",
887    "©2023 By 安知鱼 V1.5.3",
888  ];
889  const ascll2 = [`NCC2-036`, `调用前置摄像头拍照成功,识别为【小笨蛋】.`, `Photo captured: `, `🤪`];
890
891  setTimeout(
892    Log.bind(
893      console,
894      `\n%c${ascll[0]} %c ${ascll[1]} %c ${ascll[2]} %c${ascll[3]}%c ${ascll[4]}%c ${ascll[5]}\n\n%c ${ascll[6]}\n`,
895      "color:#3b70fc",
896      "",
897      "color:#3b70fc",
898      "color:#3b70fc",
899      "",
900      "color:#3b70fc",
901      ""
902    )
903  );
904  setTimeout(
905    Log.bind(
906      console,
907      `%c ${ascll2[0]} %c ${ascll2[1]} %c \n${ascll2[2]} %c\n${ascll2[3]}\n`,
908      "color:white; background-color:#4fd953",
909      "",
910      "",
911      'background:url("https://npm.elemecdn.com/[email protected]/img/post/common/tinggge.gif") no-repeat;font-size:450%'
912    )
913  );
914
915  setTimeout(Log.bind(console, "%c WELCOME %c 你好,小笨蛋.", "color:white; background-color:#4f90d9", ""));
916
917  setTimeout(
918    console.warn.bind(
919      console,
920      "%c ⚡ Powered by 安知鱼 %c 你正在访问 新奥尔良姬翅 的博客.",
921      "color:white; background-color:#f0ad4e",
922      ""
923    )
924  );
925
926  setTimeout(Log.bind(console, "%c W23-12 %c 你已打开控制台.", "color:white; background-color:#4f90d9", ""));
927
928  setTimeout(
929    console.warn.bind(console, "%c S013-782 %c 你现在正处于监控中.", "color:white; background-color:#d9534f", "")
930  );
931});</script>
931<script async src="/anzhiyu/random.js"></script>
931<script src="https://cdn.cbd.int/[email protected]/dist/algoliasearch-lite.umd.js"></script>
931<script src="https://cdn.cbd.int/[email protected]/dist/instantsearch.production.min.js"></script>
931<script src="/js/search/algolia.js"></script>
931<div class="js-pjax">
931<script>(()=>{
932  const init = () => {
933    twikoo.init(Object.assign({
934      el: '#twikoo-wrap',
935      envId: 'https://main.yjtblok.top/',
936      region: '',
937      onCommentLoaded: function () {
938        anzhiyu.loadLightbox(document.querySelectorAll('#twikoo .tk-content img:not(.tk-owo-emotion)'))
939      }
940    }, null))
941  }
942
943  const getCount = () => {
944    const countELement = document.getElementById('twikoo-count')
945    if(!countELement) return
946    twikoo.getCommentsCount({
947      envId: 'https://main.yjtblok.top/',
948      region: '',
949      urls: [window.location.pathname],
950      includeReply: false
951    }).then(function (res) {
952      countELement.innerText = res[0].count
953    }).catch(function (err) {
954      console.error(err);
955    });
956  }
957
958  const runFn = () => {
959    init();
960    
961  }
962
963  const loadTwikoo = () => {
964    if (typeof twikoo === 'object') {
965      setTimeout(runFn,0)
966      return
967    } 
968    getScript('https://registry.npmmirror.com/twikoo/1.6.38/files/dist/twikoo.all.min.js').then(runFn)
969  }
970  if ('Twikoo' === 'Twikoo' || !false) {
971    if (false) anzhiyu.loadComment(document.getElementById('twikoo-wrap'), loadTwikoo)
972    else loadTwikoo()
973  } else {
974    window.loadOtherComment = () => {
975      loadTwikoo()
976    }
977  }
978})()</script>
978<input type="hidden" name="page-type" id="page-type" value="post"></div>
978<script>window.addEventListener('load', () => {
979  const changeContent = (content) => {
980    if (content === '') return content
981
982    content = content.replace(/<img.*?src="(.*?)"?[^\>]+>/ig, '[图片]') // replace image link
983    content = content.replace(/<a[^>]+?href=["']?([^"']+)["']?[^>]*>([^<]+)<\/a>/gi, '[链接]') // replace url
984    content = content.replace(/<pre><code>.*?<\/pre>/gi, '[代码]') // replace code
985    content = content.replace(/<[^>]+>/g,"") // remove html tag
986
987    if (content.length > 150) {
988      content = content.substring(0,150) + '...'
989    }
990    return content
991  }
992
993  const getComment = () => {
994    const runTwikoo = () => {
995      twikoo.getRecentComments({
996        envId: 'https://main.yjtblok.top/',
997        region: '',
998        pageSize: 6,
999        includeReply: true
1000      }).then(function (res) {
1001        const twikooArray = res.map(e => {
1002          return {
1003            'content': changeContent(e.comment),
1004            'avatar': e.avatar,
1005            'nick': e.nick,
1006            'url': e.url + '#' + e.id,
1007            'date': new Date(e.created).toISOString()
1008          }
1009        })
1010
1011        saveToLocal.set('twikoo-newest-comments', JSON.stringify(twikooArray), 10/(60*24))
1012        generateHtml(twikooArray)
1013      }).catch(function (err) {
1014        const $dom = document.querySelector('#card-newest-comments .aside-list')
1015        $dom.innerHTML= "无法获取评论,请确认相关配置是否正确"
1016      })
1017    }
1018
1019    if (typeof twikoo === 'object') {
1020      runTwikoo()
1021    } else {
1022      getScript('https://registry.npmmirror.com/twikoo/1.6.38/files/dist/twikoo.all.min.js').then(runTwikoo)
1023    }
1024  }
1025
1026  const generateHtml = array => {
1027    let result = ''
1028
1029    if (array.length) {
1030      for (let i = 0; i < array.length; i++) {
1031        result += '<div class=\'aside-list-item\'>'
1032
1033        if (true) {
1034          const name = 'data-lazy-src'
1035          result += `<a href='${array[i].url}' class='thumbnail'><img ${name}='${array[i].avatar}' alt='${array[i].nick}'><div class='name'><span>${array[i].nick}</span></div></a>`
1036        }
1037        
1038        result += `<div class='content'>
1039        <a class='comment' href='${array[i].url}' title='${array[i].content}'>${array[i].content}</a>
1040        <time datetime="${array[i].date}">${anzhiyu.diffDate(array[i].date, true)}</time></div>
1041        </div>`
1042      }
1043    } else {
1044      result += '来到了尽头..'
1045    }
1046
1047    let $dom = document.querySelector('#card-newest-comments .aside-list')
1048    $dom.innerHTML= result
1049    window.lazyLoadInstance && window.lazyLoadInstance.update()
1050    window.pjax && window.pjax.refresh($dom)
1051  }
1052
1053  const newestCommentInit = () => {
1054    if (document.querySelector('#card-newest-comments .aside-list')) {
1055      const data = saveToLocal.get('twikoo-newest-comments')
1056      if (data) {
1057        generateHtml(JSON.parse(data))
1058      } else {
1059        getComment()
1060      }
1061    }
1062  }
1063
1064  newestCommentInit()
1065  document.addEventListener('pjax:complete', newestCommentInit)
1066})</script>
1066<script>var visitorMail = "[email protected]";</script>
1066<script>//动态标题
1067let leaveTitle = '哎哎,你去哪了?';
1068let backTitle = '太好了!是你(σ≧︎▽︎≦︎)σ❤';
1069let OriginTitile = document.title
1070let titleTime
1071document.addEventListener('visibilitychange', function () {
1072  if (document.hidden) {
1073    //离开当前页面时标签显示内容
1074    document.title = leaveTitle
1075    clearTimeout(titleTime)
1076  } else {
1077    //返回当前页面时标签显示内容
1078    document.title = backTitle + OriginTitile
1079    //两秒后变回正常标题
1080    titleTime = setTimeout(function () {
1081      document.title = OriginTitile
1082    }, 2000)
1083  }
1084})</script>
1084<script data-pjax="true">if (document.querySelector(".comment-barrage")){
1085  var commentBarrageConfig = {
1086    maxBarrage: 1,
1087    barrageTime: 4000,
1088    twikooUrl: "https://main.yjtblok.top/",
1089    accessToken: "",
1090    mailMd5: "",
1091    pageUrl: window.location.pathname,
1092    barrageTimer: [],
1093    barrageList: [],
1094    barrageIndex: 0,
1095    dom: document.querySelector(".comment-barrage"),
1096  };
1097  var commentInterval = null;
1098  var hoverOnCommentBarrage = false;
1099  
1100  document.querySelector(".comment-barrage").addEventListener("mouseenter", function() {
1101    hoverOnCommentBarrage = true;
1102  });
1103  document.querySelector(".comment-barrage").addEventListener("mouseleave", function() {
1104    hoverOnCommentBarrage = false;
1105  });
1106
1107  function initCommentBarrage() {
1108    if (!commentBarrageConfig.dom) return;
1109
1110    var data = JSON.stringify({
1111      event: "COMMENT_GET",
1112      "commentBarrageConfig.accessToken": commentBarrageConfig.accessToken,
1113      url: commentBarrageConfig.pageUrl,
1114    });
1115    var xhr = new XMLHttpRequest();
1116    xhr.withCredentials = true;
1117    xhr.addEventListener("readystatechange", function () {
1118      if (this.readyState === 4 && this.responseText) {
1119        commentBarrageConfig.barrageList = commentLinkFilter(JSON.parse(this.responseText).data);
1120        commentBarrageConfig.dom.innerHTML = "";
1121      }
1122    });
1123    xhr.open("POST", commentBarrageConfig.twikooUrl);
1124    xhr.setRequestHeader("Content-Type", "application/json");
1125    xhr.send(data);
1126
1127    clearInterval(commentInterval);
1128    commentInterval = null;
1129
1130    commentInterval = setInterval(() => {
1131      if (commentBarrageConfig.barrageList.length && !hoverOnCommentBarrage) {
1132        popCommentBarrage(commentBarrageConfig.barrageList[commentBarrageConfig.barrageIndex]);
1133        commentBarrageConfig.barrageIndex += 1;
1134        commentBarrageConfig.barrageIndex %= commentBarrageConfig.barrageList.length;
1135      }
1136      if (
1137        commentBarrageConfig.barrageTimer.length >
1138          (commentBarrageConfig.barrageList.length > commentBarrageConfig.maxBarrage
1139            ? commentBarrageConfig.maxBarrage
1140            : commentBarrageConfig.barrageList.length) &&
1141        !hoverOnCommentBarrage
1142      ) {
1143        removeCommentBarrage(commentBarrageConfig.barrageTimer.shift());
1144      }
1145    }, commentBarrageConfig.barrageTime);
1146  }
1147
1148  function commentLinkFilter(data) {
1149    data.sort((a, b) => {
1150      return a.created - b.created;
1151    });
1152    let newData = [];
1153    data.forEach(item => {
1154      newData.push(...getCommentReplies(item));
1155    });
1156    return newData;
1157  }
1158
1159  function getCommentReplies(item) {
1160    if (item.replies) {
1161      let replies = [item];
1162      item.replies.forEach(item => {
1163        replies.push(...getCommentReplies(item));
1164      });
1165      return replies;
1166    } else {
1167      return [];
1168    }
1169  }
1170
1171  function popCommentBarrage(data) {
1172    let barrage = document.createElement("div");
1173    barrage.className = "comment-barrage-item";
1174    barrage.innerHTML = `
1175        <div class="barrageHead">
1176          <a class="barrageTitle ${
1177            data.mailMd5 === commentBarrageConfig.mailMd5 ? "barrageBloggerTitle" : ""
1178          }" href="javascript:anzhiyu.scrollTo('#post-comment')"">
1179            ${data.mailMd5 === commentBarrageConfig.mailMd5 ? "博主" : "热评"}
1180          </a>
1181          <div class="barrageNick">${data.nick}</div>
1182          <img class="nolazyload barrageAvatar" src="https://cravatar.cn/avatar/${data.mailMd5}"/>
1183          <a class="comment-barrage-close" href="javascript:anzhiyu.switchCommentBarrage()"><i class="anzhiyufont anzhiyu-icon-xmark"></i></a>
1184        </div>
1185        <a class="barrageContent" href="#${data.id}">
1186          <object>${data.comment}</object>
1187        </a>
1188      `;
1189    commentBarrageConfig.barrageTimer.push(barrage);
1190    commentBarrageConfig.dom.append(barrage);
1191  }
1192
1193  function removeCommentBarrage(barrage) {
1194    barrage.className = "comment-barrage-item out";
1195
1196    setTimeout(() => {
1197      if (commentBarrageConfig.dom && commentBarrageConfig.dom.contains(barrage)) {
1198        commentBarrageConfig.dom.removeChild(barrage);
1199      }
1200      }, 1000);
1201    }
1202
1203    // 自动隐藏
1204    const commentEntryCallback = (entries) => {
1205      const commentBarrage = document.querySelector(".comment-barrage");
1206      const postComment = document.getElementById("post-comment");
1207
1208      entries.forEach(entry => {
1209        if (postComment && commentBarrage && document.body.clientWidth > 768) {
1210          commentBarrage.style.bottom = entry.isIntersecting ? `-${commentBarrageConfig.maxBarrage * 200}px` : "0";
1211        }
1212      });
1213    };
1214    // 创建IntersectionObserver实例
1215    const observer = new IntersectionObserver(commentEntryCallback, {
1216      root: null,
1217      rootMargin: "0px",
1218      threshold: 0
1219    });
1220    // 监视目标元素
1221    const postCommentTarget = document.getElementById("post-comment");
1222    if (postCommentTarget) {
1223      observer.observe(postCommentTarget);
1224    }
1225
1226    initCommentBarrage();
1227
1228    if (localStorage.getItem("commentBarrageSwitch") !== "false") {
1229      document.querySelector(".comment-barrage").style.display = "flex";
1230      document.querySelector(".menu-commentBarrage-text").textContent = "关闭热评";
1231    } else {
1232      document.querySelector(".comment-barrage").style.display = "none";
1233      document.querySelector(".menu-commentBarrage-text").textContent = "显示热评";
1234    }
1235
1236    document.addEventListener("pjax:send", function () {
1237      clearInterval(commentInterval);
1238    });
1239
1240  }</script>
1240<script async data-pjax src="https://cdn.cbd.int/[email protected]/waterfall/waterfall.js"></script>
1240<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/qrcodejs/1.0.0/qrcode.min.js"></script>
1240<script>// 初始化函数
1241let rm = {};
1242
1243//禁止图片与超链接拖拽
1244let aElements = document.getElementsByTagName("a");
1245for (let i = 0; i < aElements.length; i++) {
1246  aElements[i].setAttribute("draggable", "false");
1247  let imgElements = aElements[i].getElementsByTagName("img");
1248  for (let j = 0; j < imgElements.length; j++) {
1249    imgElements[j].setAttribute("draggable", "false");
1250  }
1251}
1252
1253// 显示菜单
1254rm.showRightMenu = function (isTrue, x = 0, y = 0) {
1255  console.info(x, y)
1256  let rightMenu = document.getElementById("rightMenu");
1257  rightMenu.style.top = x + "px";
1258  rightMenu.style.left = y + "px";
1259  if (isTrue) {
1260    rightMenu.style.display = "block";
1261    stopMaskScroll();
1262  } else {
1263    rightMenu.style.display = "none";
1264  }
1265};
1266
1267// 隐藏菜单
1268rm.hideRightMenu = function () {
1269  rm.showRightMenu(false);
1270  let rightMenuMask = document.querySelector("#rightmenu-mask");
1271  rightMenuMask.style.display = "none";
1272};
1273
1274// 尺寸
1275let rmWidth = document.getElementById("rightMenu").offsetWidth;
1276let rmHeight = document.getElementById("rightMenu").offsetHeight;
1277
1278// 重新定义尺寸
1279rm.reloadrmSize = function () {
1280  rightMenu.style.visibility = "hidden";
1281  rightMenu.style.display = "block";
1282  // 获取宽度和高度
1283  rmWidth = document.getElementById("rightMenu").offsetWidth;
1284  rmHeight = document.getElementById("rightMenu").offsetHeight;
1285  rightMenu.style.visibility = "visible";
1286};
1287
1288// 获取点击的href
1289let domhref = "";
1290let domImgSrc = "";
1291let globalEvent = null;
1292
1293var oncontextmenuFunction = function (event) {
1294  if (document.body.clientWidth > 768) {
1295    let pageX = event.clientX + 10; //加10是为了防止显示时鼠标遮在菜单上
1296    let pageY = event.clientY;
1297
1298    //其他额外菜单
1299    const $rightMenuOther = document.querySelector(".rightMenuOther");
1300    const $rightMenuPlugin = document.querySelector(".rightMenuPlugin");
1301    const $rightMenuCopyText = document.querySelector("#menu-copytext");
1302    const $rightMenuPasteText = document.querySelector("#menu-pastetext");
1303    const $rightMenuCommentText = document.querySelector("#menu-commenttext");
1304    const $rightMenuNewWindow = document.querySelector("#menu-newwindow");
1305    const $rightMenuNewWindowImg = document.querySelector("#menu-newwindowimg");
1306    const $rightMenuCopyLink = document.querySelector("#menu-copylink");
1307    const $rightMenuCopyImg = document.querySelector("#menu-copyimg");
1308    const $rightMenuDownloadImg = document.querySelector("#menu-downloadimg");
1309    const $rightMenuSearch = document.querySelector("#menu-search");
1310    const $rightMenuSearchBaidu = document.querySelector("#menu-searchBaidu");
1311    const $rightMenuMusicToggle = document.querySelector("#menu-music-toggle");
1312    const $rightMenuMusicBack = document.querySelector("#menu-music-back");
1313    const $rightMenuMusicForward = document.querySelector("#menu-music-forward");
1314    const $rightMenuMusicPlaylist = document.querySelector("#menu-music-playlist");
1315    const $rightMenuMusicCopyMusicName = document.querySelector("#menu-music-copyMusicName");
1316
1317    let href = event.target.href;
1318    let imgsrc = event.target.currentSrc;
1319
1320    // 判断模式 扩展模式为有事件
1321    let pluginMode = false;
1322    $rightMenuOther.style.display = "block";
1323    globalEvent = event;
1324
1325    // 检查是否需要复制 是否有选中文本
1326    if (selectTextNow && window.getSelection()) {
1327      pluginMode = true;
1328      $rightMenuCopyText.style.display = "block";
1329      $rightMenuCommentText.style.display = "block";
1330      $rightMenuSearch.style.display = "block";
1331      $rightMenuSearchBaidu.style.display = "block";
1332    } else {
1333      $rightMenuCopyText.style.display = "none";
1334      $rightMenuCommentText.style.display = "none";
1335      $rightMenuSearchBaidu.style.display = "none";
1336      $rightMenuSearch.style.display = "none";
1337    }
1338
1339    //检查是否右键点击了链接a标签
1340    if (href) {
1341      pluginMode = true;
1342      $rightMenuNewWindow.style.display = "block";
1343      $rightMenuCopyLink.style.display = "block";
1344      domhref = href;
1345    } else {
1346      $rightMenuNewWindow.style.display = "none";
1347      $rightMenuCopyLink.style.display = "none";
1348    }
1349
1350    //检查是否需要复制图片
1351    if (imgsrc) {
1352      pluginMode = true;
1353      $rightMenuCopyImg.style.display = "block";
1354      $rightMenuDownloadImg.style.display = "block";
1355      $rightMenuNewWindowImg.style.display = "block";
1356      document.getElementById("rightMenu").style.width="12rem"
1357      domImgSrc = imgsrc;
1358    } else {
1359      $rightMenuCopyImg.style.display = "none";
1360      $rightMenuDownloadImg.style.display = "none";
1361      $rightMenuNewWindowImg.style.display = "none";
1362    }
1363
1364    // 判断是否为输入框
1365    if (event.target.tagName.toLowerCase() === "input" || event.target.tagName.toLowerCase() === "textarea") {
1366      pluginMode = true;
1367      $rightMenuPasteText.style.display = "block";
1368    } else {
1369      $rightMenuPasteText.style.display = "none";
1370    }
1371    const navMusicEl = document.querySelector("#nav-music");
1372    //判断是否是音乐
1373    if (navMusicEl && navMusicEl.contains(event.target)) {
1374      pluginMode = true;
1375      $rightMenuMusicToggle.style.display = "block";
1376      $rightMenuMusicBack.style.display = "block";
1377      $rightMenuMusicForward.style.display = "block";
1378      $rightMenuMusicPlaylist.style.display = "block";
1379      $rightMenuMusicCopyMusicName.style.display = "block";
1380    } else {
1381      $rightMenuMusicToggle.style.display = "none";
1382      $rightMenuMusicBack.style.display = "none";
1383      $rightMenuMusicForward.style.display = "none";
1384      $rightMenuMusicPlaylist.style.display = "none";
1385      $rightMenuMusicCopyMusicName.style.display = "none";
1386    }
1387
1388    // 如果不是扩展模式则隐藏扩展模块
1389    if (pluginMode) {
1390      $rightMenuOther.style.display = "none";
1391      $rightMenuPlugin.style.display = "block";
1392    } else {
1393      $rightMenuPlugin.style.display = "none";
1394    }
1395
1396    rm.reloadrmSize();
1397
1398    // 鼠标默认显示在鼠标右下方,当鼠标靠右或靠下时,将菜单显示在鼠标左方\上方
1399    if (pageX + rmWidth > window.innerWidth) {
1400      pageX -= rmWidth + 10;
1401    }
1402    if (pageY + rmHeight > window.innerHeight) {
1403      pageY -= pageY + rmHeight - window.innerHeight;
1404    }
1405
1406    rm.showRightMenu(true, pageY, pageX);
1407    document.getElementById("rightmenu-mask").style.display = "flex";
1408    return false;
1409  }
1410};
1411
1412// 监听右键初始化
1413window.oncontextmenu = oncontextmenuFunction
1414
1415// 下载图片状态
1416rm.downloadimging = false;
1417
1418// 复制图片到剪贴板
1419rm.writeClipImg = function (imgsrc) {
1420  console.log("按下复制");
1421  rm.hideRightMenu();
1422  anzhiyu.snackbarShow("正在下载中,请稍后", false, 10000);
1423  if (rm.downloadimging == false) {
1424    rm.downloadimging = true;
1425    setTimeout(function () {
1426      copyImage(imgsrc);
1427      anzhiyu.snackbarShow("复制成功!图片已添加盲水印,请遵守版权协议");
1428      rm.downloadimging = false;
1429    }, "10000");
1430  }
1431};
1432
1433function imageToBlob(imageURL) {
1434  const img = new Image();
1435  const c = document.createElement("canvas");
1436  const ctx = c.getContext("2d");
1437  img.crossOrigin = "";
1438  img.src = imageURL;
1439  return new Promise(resolve => {
1440    img.onload = function () {
1441      c.width = this.naturalWidth;
1442      c.height = this.naturalHeight;
1443      ctx.drawImage(this, 0, 0);
1444      c.toBlob(
1445        blob => {
1446          // here the image is a blob
1447          resolve(blob);
1448        },
1449        "image/png",
1450        0.75
1451      );
1452    };
1453  });
1454}
1455
1456async function copyImage(imageURL) {
1457  const blob = await imageToBlob(imageURL);
1458  const item = new ClipboardItem({ "image/png": blob });
1459  navigator.clipboard.write([item]);
1460}
1461
1462rm.copyUrl = function (id) {
1463  const input = document.createElement("input"); // Create a new <input> element
1464  input.id = "copyVal"; // Set the id of the new element to "copyVal"
1465  document.body.appendChild(input); // Append the new element to the end of the <body> element
1466  
1467  const text = id;
1468  input.value = text;
1469  input.select();
1470  input.setSelectionRange(0, input.value.length);
1471  document.execCommand("copy");
1472  
1473  input.remove(); // Remove the <input> element from the DOM
1474};
1475
1476function stopMaskScroll() {
1477  if (document.getElementById("rightmenu-mask")) {
1478    let xscroll = document.getElementById("rightmenu-mask");
1479    xscroll.addEventListener(
1480      "mousewheel",
1481      function (e) {
1482        //阻止浏览器默认方法
1483        rm.hideRightMenu();
1484        // e.preventDefault();
1485      },
1486      { passive: true }
1487    );
1488  }
1489  if (document.getElementById("rightMenu")) {
1490    let xscroll = document.getElementById("rightMenu");
1491    xscroll.addEventListener(
1492      "mousewheel",
1493      function (e) {
1494        //阻止浏览器默认方法
1495        rm.hideRightMenu();
1496        // e.preventDefault();
1497      },
1498      { passive: true }
1499    );
1500  }
1501}
1502
1503rm.rightmenuCopyText = function (txt) {
1504  if (navigator.clipboard) {
1505    navigator.clipboard.writeText(txt);
1506  }
1507  rm.hideRightMenu();
1508};
1509
1510rm.copyPageUrl = function (url) {
1511  if (!url) {
1512    url = window.location.href;
1513  }
1514  rm.copyUrl(url);
1515  anzhiyu.snackbarShow("复制链接地址成功", false, 2000);
1516  rm.hideRightMenu();
1517};
1518
1519rm.sharePage = function () {
1520  var content = window.location.href;
1521  rm.copyUrl(url);
1522  anzhiyu.snackbarShow("复制链接地址成功", false, 2000);
1523  rm.hideRightMenu();
1524};
1525
1526// 复制当前选中文本
1527var selectTextNow = "";
1528document.onmouseup = document.ondblclick = selceText;
1529
1530function selceText() {
1531  var txt;
1532  if (document.selection) {
1533    txt = document.selection.createRange().text;
1534  } else {
1535    txt = window.getSelection().toString();
1536  }
1537  selectTextNow = txt !== "" ? txt : "";
1538}
1539
1540// 读取剪切板
1541rm.readClipboard = function () {
1542  if (navigator.clipboard) {
1543    navigator.clipboard.readText().then(clipText => rm.insertAtCaret(globalEvent.target, clipText));
1544  }
1545};
1546
1547// 粘贴文本到焦点
1548rm.insertAtCaret = function (elemt, value) {
1549  const startPos = elemt.selectionStart,
1550    endPos = elemt.selectionEnd;
1551  if (document.selection) {
1552    elemt.focus();
1553    var sel = document.selection.createRange();
1554    sel.text = value;
1555    elemt.focus();
1556  } else {
1557    if (startPos || startPos == "0") {
1558      var scrollTop = elemt.scrollTop;
1559      elemt.value = elemt.value.substring(0, startPos) + value + elemt.value.substring(endPos, elemt.value.length);
1560      elemt.focus();
1561      elemt.selectionStart = startPos + value.length;
1562      elemt.selectionEnd = startPos + value.length;
1563      elemt.scrollTop = scrollTop;
1564    } else {
1565      elemt.value += value;
1566      elemt.focus();
1567    }
1568  }
1569};
1570
1571//粘贴文本
1572rm.pasteText = function () {
1573  const result = rm.readClipboard() || "";
1574  rm.hideRightMenu();
1575};
1576
1577//引用到评论
1578rm.rightMenuCommentText = function (txt) {
1579  rm.hideRightMenu();
1580  const postCommentDom = document.getElementById("post-comment");
1581  var domTop = postCommentDom.offsetTop;
1582  window.scrollTo(0, domTop - 80);
1583  if (txt == "undefined" || txt == "null") txt = "好棒!";
1584  function setText() {
1585    setTimeout(() => {
1586      var input = document.getElementsByClassName("el-textarea__inner")[0];
1587      if (!input) setText();
1588      let evt = document.createEvent("HTMLEvents");
1589      evt.initEvent("input", true, true);
1590      let inputValue = replaceAll(txt, "\n", "\n> ");
1591      input.value = "> " + inputValue + "\n\n";
1592      input.dispatchEvent(evt);
1593      input.focus();
1594      input.setSelectionRange(-1, -1);
1595      if (document.getElementById("comment-tips")) {
1596        document.getElementById("comment-tips").classList.add("show");
1597      }
1598    }, 100);
1599  }
1600  setText();
1601};
1602
1603//替换所有内容
1604function replaceAll(string, search, replace) {
1605  return string.split(search).join(replace);
1606}
1607
1608// 百度搜索
1609rm.searchBaidu = function () {
1610  anzhiyu.snackbarShow("即将跳转到百度搜索", false, 2000);
1611  setTimeout(function () {
1612    window.open("https://www.baidu.com/s?wd=" + selectTextNow);
1613  }, "2000");
1614  rm.hideRightMenu();
1615};
1616
1617//分享链接
1618rm.copyLink = function () {
1619  rm.rightmenuCopyText(domhref);
1620  anzhiyu.snackbarShow("已复制链接地址");
1621};
1622
1623function addRightMenuClickEvent() {
1624  // 添加点击事件
1625  document.getElementById("menu-backward").addEventListener("click", function () {
1626  window.history.back();
1627    rm.hideRightMenu();
1628  });
1629
1630  document.getElementById("menu-forward").addEventListener("click", function () {
1631    window.history.forward();
1632    rm.hideRightMenu();
1633  });
1634
1635  document.getElementById("menu-refresh").addEventListener("click", function () {
1636    window.location.reload();
1637  });
1638
1639  document.getElementById("menu-top").addEventListener("click", function () {
1640    anzhiyu.scrollToDest(0, 500);
1641    rm.hideRightMenu();
1642  });
1643
1644  const menuLinks = document.querySelectorAll(".menu-link");
1645  menuLinks.forEach(function (link) {
1646    link.addEventListener("click", rm.hideRightMenu);
1647  });
1648
1649  document.getElementById("menu-darkmode").addEventListener("click", anzhiyu.switchDarkMode);
1650
1651  document.getElementById("menu-home") && document.getElementById("menu-home").addEventListener("click", function () {
1652    window.location.href = window.location.origin;
1653  });
1654
1655  document.getElementById("menu-randomPost").addEventListener("click", function () {
1656    toRandomPost();
1657  });
1658
1659  document.getElementById("menu-commentBarrage").addEventListener("click", anzhiyu.switchCommentBarrage);
1660
1661  document.getElementById("rightmenu-mask").addEventListener("click", rm.hideRightMenu);
1662
1663  document.getElementById("rightmenu-mask").addEventListener("contextmenu", function (event) {
1664    rm.hideRightMenu();
1665    event.preventDefault(); // Prevent the default context menu from appearing
1666  });
1667
1668  document.getElementById("menu-copy").addEventListener("click", rm.copyPageUrl);
1669
1670  document.getElementById("menu-pastetext").addEventListener("click", rm.pasteText);
1671
1672  document.getElementById("menu-copytext").addEventListener("click", function () {
1673    rm.rightmenuCopyText(selectTextNow);
1674    anzhiyu.snackbarShow("复制成功,复制和转载请标注本文地址");
1675  });
1676
1677  document.getElementById("menu-commenttext").addEventListener("click", function () {
1678    rm.rightMenuCommentText(selectTextNow);
1679  });
1680
1681  document.getElementById("menu-newwindow").addEventListener("click", function () {
1682    window.open(domhref, "_blank");
1683    rm.hideRightMenu();
1684  });
1685
1686  document.getElementById("menu-copylink").addEventListener("click", rm.copyLink);
1687
1688  document.getElementById("menu-downloadimg").addEventListener("click", function () {
1689    anzhiyu.downloadImage(domImgSrc, "anzhiyu");
1690  });
1691
1692  document.getElementById("menu-newwindowimg").addEventListener("click", function () {
1693    window.open(domImgSrc, "_blank");
1694    rm.hideRightMenu();
1695  });
1696
1697  document.getElementById("menu-copyimg").addEventListener("click", function () {
1698    rm.writeClipImg(domImgSrc);
1699  });
1700
1701  document.getElementById("menu-searchBaidu").addEventListener("click", rm.searchBaidu);
1702
1703  //音乐
1704  document.getElementById("menu-music-toggle").addEventListener("click", anzhiyu.musicToggle);
1705
1706  document.getElementById("menu-music-back").addEventListener("click", anzhiyu.musicSkipBack);
1707
1708  document.getElementById("menu-music-forward").addEventListener("click", anzhiyu.musicSkipForward);
1709
1710  document.getElementById("menu-music-copyMusicName").addEventListener("click", function () {
1711    rm.rightmenuCopyText(anzhiyu.musicGetName());
1712    anzhiyu.snackbarShow("复制歌曲名称成功", false, 3000);
1713  });
1714
1715}
1716
1717addRightMenuClickEvent();</script>
1717<script data-pjax>var themeColorMeta = document.querySelector('meta[name="theme-color"]');
1718var pageHeaderEl = document.getElementById("page-header");
1719var navMusicEl = document.getElementById("nav-music");
1720var consoleEl = document.getElementById("console");
1721// 已随机的歌曲
1722var selectRandomSong = [];
1723// 音乐默认声音大小
1724var musicVolume = 0.8;
1725// 是否切换了周杰伦音乐列表
1726var changeMusicListFlag = false;
1727// 当前默认播放列表
1728var defaultPlayMusicList = [];
1729
1730document.getElementById("page-name").innerText = document.title.split(" | 吮指原味姬")[0];
1731anzhiyu.initIndexEssay();
1732anzhiyu.changeTimeInEssay();
1733anzhiyu.removeBodyPaceClass();
1734anzhiyu.qrcodeCreate();
1735anzhiyu.changeTimeInAlbumDetail();
1736anzhiyu.reflashEssayWaterFall();
1737anzhiyu.sayhi();
1738anzhiyu.stopImgRightDrag();
1739anzhiyu.addNavBackgroundInit();
1740anzhiyu.setValueToBodyType();
1741anzhiyu.catalogActive();
1742anzhiyu.tagsPageActive();
1743anzhiyu.categoriesBarActive();
1744anzhiyu.topCategoriesBarScroll();
1745anzhiyu.switchRightClickMenuHotReview();
1746anzhiyu.getCustomPlayList();
1747anzhiyu.addEventListenerConsoleMusicList(false);
1748setTimeout(() => {if (typeof addFriendLinksInFooter === "function") {addFriendLinksInFooter();}}, 200)</script>
1748<script>const loadScript = (url, charset = "UTF-8", crossorigin) => {
1749  return new Promise((resolve, reject) => {
1750    const script = document.createElement('script');
1751    script.src = url;
1752    script.async = true;
1753    if (charset) {
1754      script.setAttribute("charset", charset);
1755    }
1756    if (crossorigin) {
1757      script.setAttribute("crossorigin", crossorigin);
1758    }
1759    script.onerror = reject;
1760    script.onload = script.onreadystatechange = function() {
1761      const loadState = this.readyState;
1762      if (loadState && loadState !== 'loaded' && loadState !== 'complete') return;
1763      script.onload = script.onreadystatechange = null;
1764      resolve();
1765    };
1766    document.head.appendChild(script);
1767  });
1768};
1769
1770const scriptUrls = [
1771  { url: 'https://sdk.51.la/js-sdk-pro.min.js', charset: 'UTF-8', id: 'LA_COLLECT' },
1772  { url: 'https://sdk.51.la/perf/js-sdk-perf.min.js', crossorigin: 'anonymous' }
1773];
1774
1775Promise.all(scriptUrls.map(({ url, charset, crossorigin }) => loadScript(url, charset, crossorigin)))
1776  .then(() => {
1777    LA.init({ id: "3FSZtPHs5hZ9PSdv", ck: "3FSZtPHs5hZ9PSdv" });
1778    new LingQue.Monitor().init({ id: "3FdbF4sBbZDD7qHO", sendSuspicious: true });
1779  })
1780  .catch(error => {
1781    console.error('本地无法加载51a统计,线上即可加载:', error);
1782  });
1783</script>
1783<link rel="stylesheet" href="https://cdn.cbd.int/[email protected]/icon/ali_iconfont_css.css">
1783<script defer type="text/javascript" src="https://cdn1.tianli0.top/npm/[email protected]/dist/sweetalert2.all.js"></script>
1783<script defer src="/js/lunar.js"></script>
1783<script defer src="/js/day.js"></script>
1783<script src="https://cdn.staticfile.org/jquery/3.6.3/jquery.min.js"></script>
1783<script async data-pjax src="/js/txmap.js"></script>
1783<link rel="stylesheet" href="https://cdn.cbd.int/[email protected]/aplayer/APlayer.min.css" media="print" onload="this.media='all'">
1783<script src="https://cdn.cbd.int/[email protected]/js/APlayer.min.js"></script>
1783<script src="https://cdn.cbd.int/[email protected]/assets/js/Meting2.min.js"></script>
1783<script src="https://cdn.cbd.int/[email protected]/pjax.min.js"></script>
1783<script>let pjaxSelectors = ["meta[property=\"og:image\"]","meta[property=\"og:title\"]","meta[property=\"og:url\"]","meta[property=\"og:type\"]","meta[property=\"og:site_name\"]","meta[property=\"og:description\"]","head > title","#config-diff","#body-wrap","#rightside-config-hide","#rightside-config-show",".js-pjax"]
1784
1785var pjax = new Pjax({
1786  elements: 'a:not([target="_blank"])',
1787  selectors: pjaxSelectors,
1788  cacheBust: false,
1789  analytics: false,
1790  scrollRestoration: false
1791})
1792
1793document.addEventListener('pjax:send', function () {
1794  // removeEventListener scroll 
1795  window.tocScrollFn && window.removeEventListener('scroll', window.tocScrollFn)
1796  window.scrollCollect && window.removeEventListener('scroll', scrollCollect)
1797
1798  document.getElementById('rightside').style.cssText = "opacity: ''; transform: ''"
1799  
1800  if (window.aplayers) {
1801    for (let i = 0; i < window.aplayers.length; i++) {
1802      if (!window.aplayers[i].options.fixed) {
1803        window.aplayers[i].destroy()
1804      }
1805    }
1806  }
1807
1808  typeof typed === 'object' && typed.destroy()
1809
1810  //reset readmode
1811  const $bodyClassList = document.body.classList
1812  $bodyClassList.contains('read-mode') && $bodyClassList.remove('read-mode')
1813})
1814
1815document.addEventListener('pjax:complete', function () {
1816  window.refreshFn()
1817
1818  document.querySelectorAll('script[data-pjax]').forEach(item => {
1819    const newScript = document.createElement('script')
1820    const content = item.text || item.textContent || item.innerHTML || ""
1821    Array.from(item.attributes).forEach(attr => newScript.setAttribute(attr.name, attr.value))
1822    newScript.appendChild(document.createTextNode(content))
1823    item.parentNode.replaceChild(newScript, item)
1824  })
1825
1826  GLOBAL_CONFIG.islazyload && window.lazyLoadInstance.update()
1827
1828  typeof chatBtnFn === 'function' && chatBtnFn()
1829  typeof panguInit === 'function' && panguInit()
1830
1831  // google analytics
1832  typeof gtag === 'function' && gtag('config', '', {'page_path': window.location.pathname});
1833
1834  // baidu analytics
1835  typeof _hmt === 'object' && _hmt.push(['_trackPageview',window.location.pathname]);
1836
1837  typeof loadMeting === 'function' && document.getElementsByClassName('aplayer').length && loadMeting()
1838
1839  // prismjs
1840  typeof Prism === 'object' && Prism.highlightAll()
1841})
1842
1843document.addEventListener('pjax:error', (e) => {
1844  if (e.request.status === 404) {
1845    pjax.loadUrl('/404.html')
1846  }
1847})</script>
1847<script charset="UTF-8" src="https://cdn.cbd.int/[email protected]/accesskey/accesskey.js"></script>
1847</div><!-- hexo injector body_end start -->
1847<script data-pjax>
1848  function butterfly_clock_anzhiyu_injector_config(){
1849    var parent_div_git = document.getElementsByClassName('sticky_layout')[0];
1850    var item_html = '<div class="card-widget card-clock"><div class="card-glass"><div class="card-background"><div class="card-content"><div id="hexo_electric_clock"><img class="entered loading" id="card-clock-loading" src= "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" onerror="this.onerror=null,this.src=&quot;/assets/r1.jpg&quot;" data-lazy-src="https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu/lib/loading.gif" style="height: 120px; width: 100%;" data-ll-status="loading"/></div></div></div></div></div>';
1851    console.log('已挂载butterfly_clock_anzhiyu')
1852    if(parent_div_git) {
1853      parent_div_git.insertAdjacentHTML("afterbegin",item_html)
1854    }
1855  }
1856  var elist = 'null'.split(',');
1857  var cpage = location.pathname;
1858  var epage = '/';
1859  var qweather_key = 'b16a1fa0e63c46a4b8f28abfb06ae3fe';
1860  var gaud_map_key = 'e2b04289e870b005374ee030148d64fd&s=rsv3';
1861  var baidu_ak_key = 'undefined';
1862  var flag = 0;
1863  var clock_rectangle = '113.34532,23.15624';
1864  var clock_default_rectangle_enable = 'false';
1865
1866  for (var i=0;i<elist.length;i++){
1867    if (cpage.includes(elist[i])){
1868      flag++;
1869    }
1870  }
1871
1872  if ((epage ==='all')&&(flag == 0)){
1873    butterfly_clock_anzhiyu_injector_config();
1874  }
1875  else if (epage === cpage){
1876    butterfly_clock_anzhiyu_injector_config();
1877  }
1878  </script>
1878<script src="https://widget.qweather.net/simple/static/js/he-simple-common.js?v=2.0"></script>
1878<script data-pjax src="https://cdn.cbd.int/hexo-butterfly-clock-anzhiyu/lib/clock.min.js"></script>
1878<div class="js-pjax">
1878<script async="async">var arr = document.getElementsByClassName('recent-post-item');
1879for(var i = 0;i<arr.length;i++){
1880    arr[i].classList.add('wow');
1881    arr[i].classList.add('animate__fadeInLeft');
1882    arr[i].setAttribute('data-wow-duration', '500ms');
1883    arr[i].setAttribute('data-wow-delay', '200ms');
1884    arr[i].setAttribute('data-wow-offset', '30');
1885    arr[i].setAttribute('data-wow-iteration', '1');
1886  }</script>
1886<script async="async">var arr = document.getElementsByClassName('card-widget');
1887for(var i = 0;i<arr.length;i++){
1888    arr[i].classList.add('wow');
1889    arr[i].classList.add('animate__fadeInRight');
1890    arr[i].setAttribute('data-wow-duration', '500ms');
1891    arr[i].setAttribute('data-wow-delay', '200ms');
1892    arr[i].setAttribute('data-wow-offset', '30');
1893    arr[i].setAttribute('data-wow-iteration', '1');
1894  }</script>
1894</div>
1894<script defer src="https://npm.elemecdn.com/hexo-butterfly-wowjs/lib/wow.min.js"></script>
1894<script defer src="https://npm.elemecdn.com/hexo-butterfly-wowjs/lib/wow_init.js"></script>
1894<!-- hexo injector body_end end --></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.