0
高校数学解説
文献あり

補数についての覚書

230
0

正整数のq進表現とqn桁の補数

正整数のq進表現

正整数qZ2を固定する.

任意の正整数NZ1に対して,非負整数nZ0a0,,an{0,,q1}であって
N=anqn+an1qn1++a1q+a0, an0
が成り立つものがただ1組存在する.

( [E. Landau, Differential and Integral Calculus] )

存在

qN>qN1=(q1)(qN1++1)>0N11=N
より{mZ1N<qm}であるから,
n:=min{mZ1N<qm}1Z0
が定まる.定義より
qnN<qn+1
が成り立つ.

i{0,,n}に対して
ai=NqiNqi+1qZ
とおく.床函数について
xR, x1<xx
が成り立つことに注意すると,
1=(Nqi1)Nqi+1q<ai<Nqi(Nqi+11)q=q
すなわち0aiq1が成り立つことがわかる.また,
an=NqnNqn+1q=Nqn1
が成り立つ.

さらに,
anqn++a0=0naiqi=0nNqiqiNqi+1qi+1=Nq0q0Nqn+1qn+1=N
が成り立つ.

一意性

N=0naiqi=0mbjqjと2通りに表わせたとする.もし
[n=m][i, ai=bi]
が成り立たないとすると,
0=aiqibjqj=:0dkqk, d0, |dk|q1
と書ける.ところがこのとき
q|dq|=|01dkqk|01(q1)qk=q1<q
となり不合理である.

aiの定義より次が成り立つ:
N=Nqq+a0, 0a0<qNq=Nq2q+a1, 0a1<qNqi=Nqi+1q+ai, 0ai<qNqn1=Nqnq+an1, 0an1<qNqn=0q+an, 0<an<q
すなわち,a0,,anは,Nqで割り,その商をqで割り,その商をqで割り,と商が0になるまで繰り返したときの各段階の余りである.

正整数NZ1に対して,定理1により定まる非負整数を用いて
N=anan1a1a0(q)
と書き表わしたとき,これをN絶対q進表現といい,n+1をその絶対桁数という(ことにする).

q=2, N=19

19=92+19=42+14=22+02=12+01=02+1
より19の絶対2進表現は19=10011(2)となる.

N=ana0(q)を正整数Nの絶対q進表現とする.このとき,任意のmnに対して
N=0qm++0qn+1+anqn++a0
が成り立つので,
N=00mnana0(q)
と書いて,これをN相対q進表現といい,m+1をその相対桁数という(ことにする).また,00=00m+1(q)と表わす.

qn桁の補数

相対桁数がnの正整数N=an1a0(q),0aiq1,に対して,
ai=(q1)ai, n1i0
とおくと,0aiq1であるから
N:=an1qn1++a0=an1a0(q)
により相対桁数がnの非負整数Nが定まる.このとき,
N+N=(an1+an1)qn1++(a0+a0)=(q1)qn1++(q1)=qn1
が成り立つ.

相対桁数がnの正整数Nに対して
c(N):=N+1=qnN
qn桁のNの補数という(ことにする).

N+c(N)=qnより
Nc(N)modqn
が成り立つ.したがってc(N)Z/qnZにおけるNの反対元を与えている.

以下,相対桁数がnの正整数のことを単に“n桁の正整数”という.

n桁の正整数の補数はまたn桁の正整数である.

Nn桁の正整数とする.このとき
N+c(N)=qn, 1N<qn
より
0<c(N)=qnNqn1
が成り立つ.

正整数nに対して
N(q)n={NZ1Nqn1}={n桁の正整数}
とおくと,補題2より写像
c=c(q)n:N(q)nN(q)n; NqnN
が定まる.

補数を取る写像c:N(q)nN(q)nについて,cc=idが成り立つ.

任意のNN(q)nに対して
c(c(N))=qnc(N)=N
が成り立つ.

計算の工夫

引き算

MNn桁の正整数とする.このとき
MN=(M+c(q)n(N))qn
が成り立つ.
qn=1qn+0qn1++0q+0qn+(MN)=M+c(q)n(N)(qn1)+(qn1)=1qn+(q1)qn1++(q1)q+(q2)
であるから,上の等式は「n桁の正整数同士の差MNは,減数の補数を足してから(+c(q)n(N))繰り上がりを無視すれば(qn)求められる」ことを意味する.

掛け算

M,NZ2n桁の正整数とする.それぞれの補数について,1{c(M),c(N)}のときはc(M)c(N)<qnおよび
c(M)+c(N)<1+(qn1)=qn
が,c(M),c(N)>1のときは
c(M)c(N)(c(M)+c(N))=(c(M)1)(c(N)1)10
より
c(M)+c(N)c(M)c(N)
が成り立つ.また,
M+c(M)=qn=N+c(N)
より,整数
L:=Mc(N)=Nc(M)=qn(c(M)+c(N))=(M+N)qnZ
が定まる.したがって
MN=(qnc(M))(qnc(N))=(qnc(M)c(N))qn+c(M)c(N)=Lqn+c(M)c(N)
と書ける.

以下,c(M)c(N)<qnが成り立つ,すなわちc(M)c(N)の桁が増えないと仮定する.このときL>0であり,正整数L,c(M)c(N)n桁の相対q進表現をそれぞれ

  • L=an1a0(q)
  • c(M)c(N)=bn1b0(q)

とすると,
MN=(an1qn1++a0)qn+(bn1qn1++b0)=an1q2n1++a0qn+bn1qn1++b0
が成り立つ.すなわち,正整数MN2n桁の相対q進表現は
MN=an1a0bn1b0(q)
で与えられる.

q=10,n=3,M=983,N=977

c(M)=17,c(N)=23であるから,

  • L=98323=97717=960>0
  • c(M)c(N)=17×23=(203)(20+3)=4009=391<103

より
983×977=960391
と簡単に(暗算で?)計算できる.

整数の2進表現

以下,q=2とする.また,整数z,wZに対して
[z,w]={xZzxw}
とおく.

正整数の相対2進表現を用いて整数を表わすことを考える.

2n桁の補数

正整数N[1,2n1]の相対2進表現が
N=an1ank100nk(2), 1k<n
ならば,その補数c(2)n(N)[1,2n1]の相対2進表現は
c(2)n(N)=2n(an12n1++ank2nk+2nk1)=(2n2nk1)(an12n1++ank2nk)=(2n1++2nk1)(an12n1++ank2nk)=(1an1)2n1++(1ank)2nk+2nk1=an12n1++ank2nk+2nk1
より
c(2)n(N)=an1ank100nk(2)
で与えられる.

  • 5=101(2)=0101(2)
  • c(2)3(5)=235=3=011(2)
  • c(2)4(5)=245=11=1011(2)
  • 14=1110(2)=01110(2)
  • c(2)4(14)=2414=2=0010(2)
  • c(2)5(14)=2514=18=10010(2)

整数の2進表現

nZ2とする.写像
δ=δ(2)n:{0}N(2)n=[0,2n1][2n1,2n11]

δ(an12n1+an22n2++a0)=an12n1+an22n2++a0
で定める.
δ(02n1+an22n2++a0)=an22n2++a0[0,2n11]
および
δ(12n1+an22n2++a0)=2n1+an22n2++a0[2n1,1]=(2n1+an22n2++a0)2n=c(2)n(12n1+an22n2++a0)
より,δは(well-defined かつ)全単射である.したがって[2n1,2n11]に属する整数はβ(2)n:=(δ(2)n)1によりn桁の相対2進表現を持つ.
δ(2)n[0,2n11]id{2n1}[2n1+1,2n1]c(2)n[0,2n11]{2n1}[2n1+1,1]β(2)n
とくに,図式
[1,2n11]c(2)n(1)[2n1+1,2n1][2n1+1,1]β(2)n
の可換性より次がわかる:n1桁の正整数N=bn2b0(2)[1,2n11]に対して,負整数N[2n1+1,1]2進表現は
c(2)n(0bn2b0(2))
で与えられる.

  • β(2)2(1)=c(2)2(01(2))=11(2)
  • β(2)3(1)=c(2)3(001(2))=111(2)
  • β(2)3(3)=011(2)
  • β(2)4(3)=0011(2)
  • β(2)4(5)=c(2)4(0101(2))=1011(2)
  • β(2)6(5)=c(2)6(000101(2))=111011(2)

2進表現の延長と制限

m,nZ2, m>n,とする.

2進表現の延長

整数z[2n1,2n11]n桁の2進表現が
β(2)n(z)=an1an2a0(2)
ならば,m桁の2進表現は
β(2)m(z)=an1an1mnan1an2a0(2)
で与えられる.

 δ(2)m(an1an1mnan1an2a0(2))=an12m1+an12m2++an12n1+an22n2++a0=an1(2m1+2m2++2n1)+an22n2++a0=an1(2m1+2m12n1)+an22n2++a0=an12n1+an22n2++a0=δ(2)n(an1an2a0(2))=z
より,
β(2)m(z)=an1an1mnan1an2a0(2)
が成り立つ.

2進表現の制限

整数z[2m1,2m11]m桁の2進表現を
β(2)m(z)=am1am2anan1an2a0(2)
とする.このとき,次は同値である:

  1. z[2n1,2n11];
  2. am1=am2==an=an1.

さらに,この同値な条件のもとで,整数zn桁の2進表現は
β(2)n(z)=an1an2a0(2)
で与えられる.

(i)(ii)

整数z[2n1,2n11]n桁の2進表現を
β(2)n(z)=bn1bn2b0(2)
とおく.このとき補題4より
β(2)m(z)=bn1bn1mnbn1bn2b0(2)
であるから,
β(2)m(z)=am1am2anan1an2a0(2)
と比較して
am1=am2==an=an1=bn1
および
ai=bi, n2i0
を得る.

(ii)(i)

w=δ(2)n(an1an2a0(2))[2n1,2n11]とおくと,補題4より
β(2)m(w)=an1an1mnan1an2a0(2)=β(2)m(z)
が成り立つので,z=w[2n1,2n11]を得る.

和の2進表現

整数z,w[2n1,2n11]について,z+w[2n1,2n11]が成り立つとする.このとき,非負整数β(2)n(z)+β(2)n(w)[0,2n+11]n+1桁の相対2進表現を
β(2)n(z)+β(2)n(w)=dndn1dn2d0(2)
とすると,整数z+w[2n1,2n11]n桁の2進表現は
β(2)n(z+w)=dn1dn2d0(2)
で与えられる.

M=β(2)n(z),N=β(2)n(w)[0,2n1]とおく.このとき
δ(M)+δ(N)={δ(M+N),0M+N2n1δ(M+N2n),2nM+N (2n+2n1++1 )
が成り立つことを示せばよい.(ただしδ=δ(2)nである.)

δ(M),δ(N)0のとき

δ(M)=M, δ(N)=NよりM+N=δ(M)+δ(N)[0,2n11]となるので
δ(M)+δ(N)=M+N=δ(M+N)
が成り立つ.

δ(M)0, δ(N)<0のとき

M2n11<Nであるから
δ(M)+δ(N)=M+(c(2)n(N))=M+(N2n)=(M+N)2n
が成り立つ.したがって,

  • 2n1M+N2n1のとき
    δ(M+N)=c(2)n(M+N)=(M+N)2n=δ(M)+δ(N)
    が成り立つ.
  • 2nM+Nのとき,
    M+N(2n11)+(2n1)<2n1+2n
    より0M+N2n<2n1であるから
    δ(M+N2n)=M+N2n=δ(M)+δ(N)
    が成り立つ.

δ(M),δ(N)<0のとき

2n1M,Nより2nM+Nであり,
2n1δ(M)+δ(N)=(c(2)n(M))+(c(2)n(N))=(M2n)+(N2n)=(M+N2n)2n
より
2n1=2n2n1M+N2n
となるので,
δ(M+N2n)=c(2)n(M+N2n)=(M+N2n)2n=δ(M)+δ(N)
が成り立つ.

命題6の

整数z,w[2n1,2n11]n桁の2進表現をそれぞれ
β(2)n(z)=an1an2a0(2),β(2)n(w)=bn1bn2b0(2)
とし,非負整数β(2)n(z)+β(2)n(w)[0,2n+11]n+1桁の相対2進表現を
β(2)n(z)+β(2)n(w)=dndn1dn2d0(2)
とする.このとき次は同値である:

  1. z+w[2n1,2n11];
  2. [an1bn1][an1=bn1=dn1]

(i)(ii)

an1=bn1のとき,z,wの正負とz+wの正負は一致するので,命題6よりan1=bn1=dn1を得る.

(ii)(i)

 an1bn1のとき:

z<0wとしてよい.このとき
2n1z+0z+w<0+w<2n1
が成り立つ.

 an1=bn1=dn1=0のとき:

z,w0よりβ(2)n(z)=z,β(2)n(w)=wであるから,
dn2ndn0dn2d0(2)=z+w<2n1+2n1=2n
よりdn=0を得る.よって
0z+w=00dn2d0(2)2n11
が成り立つ.

 an1=bn1=dn1=1のとき:

z,w<0であるから2n1z+wを示せばよい.まづ
β(2)n(z)+β(2)n(w)=(2n1+an22n2++a0)+(2n1+bn22n2++b0)=2n+(an2+bn2)2n2++(a0+b0)=dn2n+2n1+dn22n2++d0
よりdn=1がわかるので,
2n1+dn22n2++d0=(an2+bn2)2n2++(a0+b0)
が成り立つ.

  • [2,n]に対してan+bn{0,1,2}となることに注意する.
  • {[2,n]an+bn=2}=とすると,
    2n12n1+dn22n2++d0=(an2+bn2)2n2++(a0+b0)2n2++1=2n11
    となり不合理である.したがって
    k:=min{[2,n]an+bn=2}
    が定まる.
  • このとき,任意の[2,k1]に対してan+bn{0,1}であるが,実はan+bn=1が成り立つ.
    • 実際,k{[2,k1]an+bn=0}とすると
      2n12n1+dn22n2++d0=(an2+bn2)2n2++(ank+1+bnk+1)2nk+1+(ank1+bnk1)2nk1++(a0+b0)2n2++2nk+1+2(2nk1++1)=2n2++2nk+1+2(2nk1)=2n12
      となり不合理である.
  • よって
    z+w=(2n1+an22n2++a0)+(2n1+bn22n2++b0)2n+(an2+bn2)2n2++(ank+1+bnk+1)2nk+1+(ank+bnk)2nk=2n+2n2++2nk+1+22nk=2n+2n1=2n1
    が成り立つ.

計算例:足し算

具体的な数値で命題6を確認してみる.

(±3)+(±5)[23,231]=[8,7]の計算

3+(5)
  • β(2)4(3)+β(2)4(5)=0011(2)+1011(2)=01110(2)
  • β(2)4(3+(5))=β(2)4(2)=c(2)4(0010(2))=1110(2)
(3)+5
  • β(2)4(3)+β(2)4(5)=1101(2)+0101(2)=10010(2)
  • β(2)4((3)+5)=β(2)4(2)=0010(2)
(3)+(5)
  • β(2)4(3)+β(2)4(5)=1101(2)+1011(2)=11000(2)
  • β(2)4((3)+(5))=β(2)4(8)=c(2)4(1000(2))=1000(2)
3+5

3+5[24,241][23,231]に注意する.

  • β(2)4(3)+β(2)4(5)=0011(2)+0101(2)=1000(2)=β(2)4(8)
  • β(2)5(3)+β(2)5(5)=00011(2)+00101(2)=001000(2)
  • β(2)5(3+5)=β(2)5(8)=01000(2)

積の2進表現

整数z,w[2n1,2n11]について,zw[2n1,2n11]が成り立つとする.このとき,非負整数β(2)n(z)×β(2)n(w)[0,22n1]2n桁の相対2進表現を
β(2)n(z)×β(2)n(w)=d2n1dndn1dn2d0(2)
とすると,整数zw[2n1,2n11]n桁の2進表現は
β(2)n(zw)=dn1dn2d0(2)
で与えられる.

M=β(2)n(z),N=β(2)n(w)[0,2n1]とおく.このとき
δ(M)δ(N)=δ(dn1dn2d0(2))
が成り立つことを示せばよい.

δ(M),δ(N)0のとき

δ(M)=M, δ(N)=NよりMN=δ(M)δ(N)[0,2n11]となる.したがってMN2n桁の相対2進表現は
MN=00n0dn2d0(2)
となるので,
δ(M)δ(N)=MN=δ(dn1dn2d0(2))
が成り立つ.

δ(M),δ(N)<0のとき

M,N2n1であるが,

  • δ(M),δ(N)[2n1,1]
  • δ(M)δ(N)[1,2n11]
  • δ(2n1)=2n1

より,M,N>2n1でなければならない.このときc(M),c(N)[1,2n11]であり,
c(M)c(N)=(c(M))(c(N))=δ(M)δ(N)[0,2n11]
となる.ところで
L:=Mc(2)n(N)=Nc(2)n(M)=(M+N)2n>0
とおくと,
MN=L2n+c(M)c(N)
が成り立つので,
c(M)c(N)=dn1dn2d0(2)
を得る.したがって
δ(M)δ(N)=δ(dn1dn2d0(2))
が成り立つ.

δ(M)0, δ(N)<0のとき

M2n11<Nである.まづ
δ(M)δ(N)=M(c(N))=2n1
の場合を考える.このときM=2k,k[1,n2],と書けるので,
N=c(c(N))=c(2nk1)=2n2nk1=2n1++2nk+2nk1
となる.したがって
MN=2n+k1++2n+2n1
となるので,
δ(M)δ(N)=2n1=δ(100n1(2))=δ(dn1dn2d0(2))
が成り立つ.

以下,δ(M)δ(N)=Mc(N)[2n1+1,1]とする.このときM,c(N)[1,2n11]であり,
Mc(N)=δ(M)δ(N)[1,2n11]
となるので,Mc(N)=0bn2b0(2)とおくと,
δ(M)δ(N)=δ(0bn2b0(2))
と書ける.ここで
Dn=d2n12n1++dn
とおくと
M2n=MN+Mc(N)=(Dn2n+dn1dn2d0(2))+0bn2b0(2)
より,
0<dn1dn2d0(2)+0bn2b0(2)=(MDn)2n(2n1)+(2n1)<22n
となる.したがってMDn=1,すなわち
dn1dn2d0(2)+0bn2b0(2)=2n
が成り立つ.よってdn1=1であり,
δ(M)δ(N)=δ(0bn2b0(2))=(bn22n2++b0)=2n+(2n1+dn22n2++d0)=2n1+dn22n2++d0=δ(dn1dn2d0(2))
が成り立つ.

証明中の記号を用いると
δ(dn1dn2d0(2))=dn12n1+dn22n2++d0=MNDn2n2dn12n1=MN(Dn+dn1)2n
と書ける.したがって,

  • z,w0のとき,dn1=0であり,
    0=Dn+dn1
    が成り立つ.
  • z,w<0のとき,dn1=0であり,
    β(2)n(z)+β(2)n(w) n+1桁目を無視=(M+N)2n=L=Dn+dn1
    が成り立つ.
  • z0, w<0のとき,dn1=1であり,
    β(2)n(z)=M=Dn+dn1
    が成り立つ.

検算の役には立ちそう?

整数z,w[2n1,2n11]n桁の2進表現をそれぞれ
β(2)n(z)=aakaank2a0(2),β(2)n(w)=bbbbn2b0(2)11100(2)=β(2)n(2n1)
とする.このとき,
k+n1zw[2n1,2n11]
が成り立つ.
100(2)110(2)111(2)000(2)001(2)011(2)2n121012n11

命題5より
2nk1z<2nk1
および
2n1<w<2n1
が成り立つ.よってk+n1のとき
|zw|<22n2(k+)2n1
が成り立つ.

逆は成り立たない.実際

  • β(2)6(4)=000100(2)
  • β(2)6(7)=000111(2)

を考えると,47=28[25,251]=[32,31]だがk+=2+25=n1である.

計算例:掛け算

具体的な数値で命題7を確認してみる.

(±3)×(±7)=±21[25,251]=[32,31]の計算

それぞれの整数の2進表現は以下のようになる:

  • β(2)6(3)=000011(2)
  • β(2)6(3)=c(2)6(000011(2))=111101(2)
  • β(2)6(7)=000111(2)
  • β(2)6(7)=c(2)6(000111(2))=111001(2)
  • β(2)6(21)=010101(2)
  • β(2)6(21)=c(2)6(010101(2))=101011(2)
3×7
  • β(2)6(3)×β(2)6(7)=000011(2)×000111(2)=000000D6010101(2)
  • β(2)6(3×7)=β(2)6(21)=010101(2)
(3)×(7)
  • β(2)6(3)×β(2)6(7)=111101(2)×111001(2)=110110D6010101(2)
  • β(2)6(3)+β(2)6(7)=1110110(2)
  • β(2)6((3)×(7))=β(2)6(21)=010101(2)
3×(7)
  • β(2)6(3)×β(2)6(7)=000011(2)×111001(2)=000010D6101011(2)
  • β(2)6(3×(7))=β(2)6(21)=101011(2)
(3)×7
  • β(2)6(3)×β(2)6(7)=111101(2)×000111(2)=000110D6101011(2)
  • β(2)6((3)×7)=β(2)6(21)=101011(2)

(±6)×(±5)=±30[25,251]=[32,31]の計算

それぞれの整数の2進表現は以下のようになる:

  • β(2)6(6)=000110(2)
  • β(2)6(6)=c(2)6(000110(2))=111010(2)
  • β(2)6(5)=000101(2)
  • β(2)6(5)=c(2)6(000101(2))=111011(2)
  • β(2)6(30)=011110(2)
  • β(2)6(30)=c(2)6(011110(2))=100010(2)
6×5
  • β(2)6(6)×β(2)6(5)=000110(2)×000101(2)=000000D6011110(2)
  • β(2)6(6×5)=β(2)6(30)=011110(2)
(6)×(5)
  • β(2)6(6)×β(2)6(5)=111010(2)×111011(2)=110101D6011110(2)
  • β(2)6(6)+β(2)6(5)=1110101(2)
  • β(2)6((6)×(5))=β(2)6(30)=011110(2)
6×(5)
  • β(2)6(6)×β(2)6(5)=000110(2)×111011(2)=000101D6100010(2)
  • β(2)6(6×(5))=β(2)6(30)=100010(2)
(6)×5
  • β(2)6(6)×β(2)6(5)=111010(2)×000101(2)=000100D6100010(2)
  • β(2)6((6)×5)=β(2)6(30)=100010(2)

2冪による乗除:算術シフト

正整数Nに対してNq±kの相対q進表現はNの相対q進表現の左右に0を加減することで得られる.同様のことを整数の2進表現について考える.

左算術シフト

z[2n1,2n11], k[1,n1]とし,整数zn桁の2進表現を
β(2)n(z)=an1an2a0(2)
とする.このとき次は同値である:

  1. z2k[2n1,2n11];
  2. an1=an2==ank=ank1.

さらに,この同値な条件のもとで,整数z2kn桁の2進表現は
β(2)n(z2k)=ank1ank2a000k(2)
で与えられる.

命題5より
z2k[2n1,2n11]2n1z2k<2n12nk1z<2nk1z[2(nk)1,2(nk)11]an1=an2==ank=ank1
を得る.

以下,z2k[2n1,2n11]とする.

  • k=n1のとき
    β(2)n(z)=aaa(2)
    すなわちz{1,0}であり,したがって
    β(2)n(z2n1)=a00n1(2)
    が成り立つ.
  • k<n1のとき,β(2)n(2k)=2kより非負整数β(2)n(z)×β(2)n(2k)2n桁の相対2進表現は
    β(2)n(z)×β(2)n(2k)=00nkan1an2ankank1ank2a000k(2)
    であるから,命題7より
    β(2)n(z2k)=ank1ank2a000k(2)
    が成り立つ.
10[27,271]=[128,127]
  • β(2)8(10)=c(2)8(00001010(2))=11110110(2)
  • δ(2)8(11101100(2))=c(2)8(11101100(2))=(00010100(2))=20=(10)21
  • δ(2)8(11011000(2))=c(2)8(11011000(2))=(00101000(2))=40=(10)22
  • δ(2)8(10110000(2))=c(2)8(10110000(2))=(01010000(2))=80=(10)23
  • δ(2)8(01100000(2))=01100000(2)=96(10)24[128,127]
右算術シフト

z[2n1,2n11], k[1,n1]とし,整数zn桁の2進表現を
β(2)n(z)=an1an2a0(2)
とする.このとき次は同値である:

  1. z2k[2n1,2n11];
  2. ak1=ak2==a0=0.

さらに,この同値な条件のもとで,整数z2kn桁の2進表現は
β(2)n(z2k)=an1an1kan1an2ak(2)
で与えられる.

(i)(ii)

整数w:=z2k[2n1,2n11]n桁の2進表現を
β(2)n(w)=bn1bn2b0(2)
とする.このときw2k=z[2n1,2n11]であるから,命題9より
bn1=bn2==bnk=bnk1
であり,
β(2)n(w2k)=bnk1bnk2b000k(2)
が成り立つ.これを
β(2)n(z)=an1an2akak1a0(2)
と比較して
{bi=ak+i,nk1i0aj=0,k1j0
を得る.よって
β(2)n(z2k)=β(2)n(w)=an1an1kan1an2ak(2)
が成り立つ.

(ii)(i)

仮定より
z=δ(2)n(an1an2ak00k(2))=an12n1+an22n2++ak2k=(an12nk1+an22nk2++ak)2k
が成り立つので,
z2k=an12nk1+an22nk2++ak=δ(2)nk(an1an2ak(2))[2nk1,2nk11][2n1,2n11]
が成り立つ.

48[27,271]=[128,127]
  • β(2)8(48)=c(2)8(00110000(2))=11010000(2)
  • δ(2)8(11101000(2))=c(2)8(11101000(2))=(00011000(2))=24=(48)21
  • δ(2)8(11110100(2))=c(2)8(11110100(2))=(00001100(2))=12=(48)22
  • δ(2)8(11111010(2))=c(2)8(11111010(2))=(00000110(2))=6=(48)23
  • δ(2)8(11111101(2))=c(2)8(11111101(2))=(00000011(2))=3=(48)24
  • δ(2)8(11111110(2))=c(2)8(11111110(2))=(00000010(2))=2(48)25[128,127]

参考文献

投稿日:2024128
更新日:202422
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

うすい
56
11917
位相空間論に興味があります.

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 正整数の$q$進表現と$q$$n$桁の補数
  2. 正整数の$q$進表現
  3. $q$$n$桁の補数
  4. 計算の工夫
  5. 整数の$2$進表現
  6. $2$$n$桁の補数
  7. 整数の$2$進表現
  8. $2$進表現の延長と制限
  9. 和の$2$進表現
  10. 計算例:足し算
  11. 積の$2$進表現
  12. 計算例:掛け算
  13. $2$冪による乗除:算術シフト
  14. 参考文献