{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"38270854-596f-4a26-8183-db8c968c6020","id":"38270854-596f-4a26-8183-db8c968c6020","uuid":"38270854-596f-4a26-8183-db8c968c6020","title":"编码 隐匿在计算机软硬件背后的语言","normalized_title":"编码隐匿在计算机软硬件背后的语言","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787121181184","isbns":["9787121181184","0123456789","6044921875","3039331000","0000000000","0000000000000"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":438,"navigation_url":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020","title_url":"https://workshop.closeclaw.top/ai/title/%E7%BC%96%E7%A0%81%20%E9%9A%90%E5%8C%BF%E5%9C%A8%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E7%A1%AC%E4%BB%B6%E8%83%8C%E5%90%8E%E7%9A%84%E8%AF%AD%E8%A8%80","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/38270854-596f-4a26-8183-db8c968c6020/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/38270854-596f-4a26-8183-db8c968c6020","page_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/page","search_url":"https://workshop.closeclaw.top/api/ai/books/38270854-596f-4a26-8183-db8c968c6020/search"},"page":{"printed_page":66,"pdf_page":82,"physical_index":82,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"be898f21804e6e757a7eefd56eed3c12e8255e2b1df14841052102058ab8ce93"},"chapter":"编码隐匿在计算机软硬件背后的语言","content":"模板来进行转换：\n\n×128 ×64 ×32 ×16 ×8 ×4 ×2 ×1\n\n这个模板可以将一个数转换最大长度为8的二进制数，但是它很容易扩展。在使用模板的时候，将8位二进制数填入到上面一行的格子里，每个格子一位。做8个乘法运算，然后将结果填入到下面一行的8个小格子里。再将这8个格子中的数相加就会得到最终结果。下面就举例说明如何得到与二进制数10010110相等的十进制数。\n\n×128 ×64 ×32 ×16 x8 x4 x2 x1\n\n$$\n[ 1 2 8 ] + [ 0 ] + [ 0 ] + [ 1 6 ] + [ 1 6 ] + [ 0 ] + [ 4 ] + [ 2 ] + [ 0 ] = [ 1 5 0 ]\n$$\n\n将十进制数转换成二进制数就没那么直接了。下面是一个能够帮你将0\\~255范围内的十进制数转换为二进制数的模板。\n\n$$\n\\pm 1 2 8 + 6 4 + 3 2 + 1 6 + 8 + 4 + 2 + 1 + 1\n$$\n\n$$\n\\square \\square \\square \\square \\square \\square \\square \\square\n$$\n\n这个转换实际上比看上去要麻烦得多，因此一定要仔细地按照下面的指导来操作。将整个十进制数(小于或等于255)填入到上面一行最左端的格子中。用第一个除数(128)去除这个数。所得的商填入正下方的格子（左下角的格子)，余数填入右边的格子（上面--行左数第二个格子)。用第一个余数再除以下一个除数64。依照模板的顺序用同样的方法继续进行下去。\n\n要记住，每次求得的商只能是0或者1。如果被除数小于除数，商为0，余数就是被除数。如果被除数大于或等于除数，那么商为1，余数就是被除数减去除数所得之差。下面以150为例进行转换。\n\n$$\n+ 1 2 8 + 6 4 + 3 2 + 1 6 + 8 \\neq 4 + 2 + 1 + 1 6\n$$\n\n$$\n\\boxed { ! } \\boxed { \\textrm { o } } \\boxed { \\textrm { o } } \\boxed { ! } \\boxed { \\textrm { o } } \\boxed { ! } \\boxed { \\textrm { u } } \\boxed { \\textrm { o } }\n$$\n\n如果需要对两个二进制数进行加法或乘法，直接运算可能会比转换成十进制再进行\n\n编码隐匿在计算机软硬件背后的语言\n\n66","previous_page":65,"next_page":67}