跳到主要内容

東北大学 工学研究科 電気・情報系 2016年8月実施 基礎科目 問題3 情報基礎1

Author

祭音Myyura (co-authored with GPT 5.6 SOL)

Description

日本語版

a1,a2,,an,b1,b2,,bn,s1,s2,,sn+1{0,1}a_1,a_2,\ldots,a_n,b_1,b_2,\ldots,b_n,s_1,s_2,\ldots,s_{n+1}\in\{0,1\} に対して,nn22 進数の加算を以下の式で表現する。

[sn+1snsn1s1]=[anan1a1]+[bnbn1b1][s_{n+1}s_ns_{n-1}\ldots s_1]=[a_na_{n-1}\ldots a_1]+[b_nb_{n-1}\ldots b_1]

例えば,[110]=[11]+[11][110]=[11]+[11] である。論理積,論理和,否定演算子をそれぞれ ,,xˉ\land,\lor,\bar{\phantom x} とする。以下の問に答えよ。

(1) s1s_1 の最簡積和形を書け。

(2) s2s_2 の最簡積和形を書け。

(3) i=1,2,,ni=1,2,\ldots,n に対して,ai,bia_i,b_i と下位ビット加算からの桁上がりを加えた際の桁上がりを ci+1{0,1}c_{i+1}\in\{0,1\} とし,c1=0c_1=0 とする。ci+1c_{i+1}ai,bi,cia_i,b_i,c_i を用いた論理式で書け。

(4) sn+1s_{n+1}a1,a2,,an,b1,b2,,bna_1,a_2,\ldots,a_n,b_1,b_2,\ldots,b_n を用いた論理式で書け。

题目描述

所有位 ai,bi,si{0,1}a_i,b_i,s_i\in\{0,1\}。两 nn 位二进制数相加满足

[sn+1sns1]=[ana1]+[bnb1],[s_{n+1}s_n\cdots s_1]=[a_n\cdots a_1]+[b_n\cdots b_1],

下标 11 对应最低位。用 ,,xˉ\land,\lor,\bar{\phantom x} 表示与、或、非。

  1. 写出 s1s_1 的最简与或式。
  2. 写出 s2s_2 的最简与或式。
  3. 记第 ii 位的输入进位为 cic_ic1=0c_1=0。用 ai,bi,cia_i,b_i,c_i 表示输出进位 ci+1c_{i+1}
  4. 仅用 a1,,an,b1,,bna_1,\ldots,a_n,b_1,\ldots,b_n 写出 sn+1s_{n+1}

Kai

(1)

s1=a1bˉ1+aˉ1b1.\boxed{s_1=a_1\bar b_1+\bar a_1b_1.}

(2)

最低位的进位为 c2=a1b1c_2=a_1b_1,所以 s2=a2b2(a1b1)s_2=a_2\oplus b_2\oplus(a_1b_1)。展开并合并得到最简与或式

s2=aˉ1aˉ2b2+bˉ1aˉ2b2+aˉ1a2bˉ2+bˉ1a2bˉ2+a1b1aˉ2bˉ2+a1b1a2b2.\boxed{\begin{aligned} s_2={}&\bar a_1\bar a_2b_2+\bar b_1\bar a_2b_2 +\bar a_1a_2\bar b_2+\bar b_1a_2\bar b_2\\ &+a_1b_1\bar a_2\bar b_2+a_1b_1a_2b_2. \end{aligned}}

(3)

三个输入中至少两个为 11 时产生进位,故

ci+1=aibi+aici+bici.\boxed{c_{i+1}=a_ib_i+a_ic_i+b_ic_i.}

(4)

Gi=aibiG_i=a_ib_iPi=aibiP_i=a_i\lor b_i,则 ci+1=Gi(Pici)c_{i+1}=G_i\lor(P_i\land c_i)。逐层展开并用 c1=0c_1=0

sn+1=k=1n[(akbk)j=k+1n(ajbj)].\boxed{s_{n+1}=\bigvee_{k=1}^n\left[(a_k\land b_k)\land\bigwedge_{j=k+1}^n(a_j\lor b_j)\right].}

空的合取按 11 处理,最后一项就是 anbna_nb_n