10進数の-7.77を8進数に変換する際、
整数部分の-7を変換したい8で割り、小数部分を8で乗算し、循環するか整数になるか、或いは8bitまで計算する、という方法で答えを導き出そうとしたのですが、
変換ツールなどを用いて答えを見てみると全く違うものでした。

整数部分の計算は、
-7/8
小数部分の計算は、
0.77*8=6.16
0.16*8=1.28
0.28*8=2.24
0.24*8=1.92
0.92*8=7.36
0.36*8=2.88
0.88*8=7.04
0.04*8=0.32

2進数の場合は、ビットの反転後、最終ビットに1を加えることで答えが導き出せたのですが、この計算式の場合は、いったいどうすると正しく計算できるのでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

前にも回答したよな。



ツールに誤差があるだけ。
質問が内容の方が正解。
7.77(10進)=7.61217270・・・(8進)
    • good
    • 1

前にも同じような「n進数」「補数」の質問をされていませんか? なんか、全く理解できていないような。



10進数の A.BC とは
 A*10^0 + B*10^(-1) + C*10^(-2)
ということです。

同様に、8進数の D.EF とは
 D*7^0 + E*7^(-1) + F*7^(-2)
ということです。

基本は、こういった式で変換します。

マイナスをどのように表すかは定義次第ですが、「-7.77」を8進数で「-7.XYZ」と表わせば「補数」などを考える必要はありません。
単に、10進数の 7.77 を8進数で表して、符号のマイナスを付ければよいのです。

10進数の 7.77 を8進数で表せば、定義通り8進数「7.ABCDEF」に変換するには(この桁数で打ち切るとして)

(1) A*8^(-1) ≒ A*0.125 ≦ 0.77
となる最大の整数Aは、A=6
このとき
 6*8^(-1) = 0.75
残るは
 0.77 - 0.75 = 0.02

(2) B*8^(-2) = B*0.015625 ≦ 0.02
となる最大の整数Bは、B=1
このとき
 1*8^(-2) = 0.015625
残るは
 0.02 - 0.015625 = 0.004375

(3) C*8^(-3) = C*0.001953125 ≦ 0.004375
となる最大の整数Cは、C=2
このとき
 2*8^(-3) = 0.00390625
残るは
 0.004375 - 0.00390625 = 0.00046875

(4) D*8^(-4) = D*0.00024414 ≦ 0.00046875
となる最大の整数Dは、D=1
このとき
 1*8^(-4) = 0.00024414
残るは
 0.00046875 - 0.00024414 = 0.000224609

(5) E*8^(-5) ≒ E *0.000030517 ≦ 0.000224609
となる最大の整数Eは、E=7
このとき
 7*8^(-5) = 0.000213623
残るは
 0.000224609 - 0.000213623 = 0.000010985

(6) F*8^(-6) = F *0.0000003814 ≦ 0.000010985
となる最大の整数Fは、F=2 だが、最も近そうなのは F=3
このとき
 3*8^(-6) = 0.000011444
残るは
 0.000010985 - 0.000011444 = -0.000000459

このぐらい残差が小さくなればよいでしょう。

ということで、8進数は
「7.612173」

検算として、これを10進数に変換すると
 7.770000458
になりました。

よって
 10進数の -7.77
  ↓
 8進数の -7.612173

桁数が多いので、計算違いがあったらご容赦を。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Q整数部分と小数部分について

整数部分と小数部分について

まだ授業でならってないのに、
小数部分と整数部分の問題がでました。

(1)√7 の小数部分を求めなさい

(2)√11の整数部分を求めなさい。
習ってないので求め方がわかりません。

うちみたいなやつでもわかるように詳しく教えてください。
お願いします。

Aベストアンサー

○.○○○の小数点より左側を「整数部分」、右側を「小数部分」と言います。

2=√4、 3=√9 というのはわかりますか?
それで考えると、√7は√4~√9の間なので、2~3の間になるということです。
なので√7=2.???????となります。

そのうちの少数部分を求めたいので、
2.???????から2を引けば、0.???????となりますよね?
なので、√7の少数部分は『√7-2』です。

また、√11は√9~√16の間なので、3~4の間ということはもうわかりますね?
なので、√11=3.????????
となるので、√11の整数部分は『3』です。

Q2^a=3^bを満たす整数(正の整数、0、負の整数)はa=b=0のみ。これは2と3に限った話なのか。

2^a=3^bを満たす整数(正の整数、0、負の整数)はa=b=0のみですがこれは2と3に限った話なのか。
それとも
A^a=B^bとおくと
4^a=5^b
2^a=4^b
などのようにA,Bは正の整数ならばなんでもいいのか。それともA,Bは互いに素など条件がありますか。

A,Bともに正の整数でかつA,Bは互いに素のときA^a=B^bを満たす整数a,bはa=b=0のみ。
なのか
A,Bともに正の整数のときA^a=B^bを満たす整数a,bはa=b=0のみ。
なのか。どちらですか。

さらにA,Bは負の整数、0ではダメだと思っていますがこれは正しいでしょうか。

Aベストアンサー

A^a=B^b で、AとBが互いに素でなければ、a=b=0以外が存在します。

2^2=4^1
6^2=3^4

81^a=64^b は、a=b=0 のみ

Q小5算数 小数×小数=整数になる組み合わせ 教えて下さい

子供の宿題がわかりません、答えと考え方を教えてください。
ランダムに計算してみましたが端数がでるものばかりでした。
よろしくお願いします。

{問題}2,3,5,6,7,8 の6つの数を一回ずつ使い、小数
    ×小数=整数になる組み合わせを8パターン考えましょう。

    注)3.5×6.8や7.2×6.5などの小数第一位同士
      がある組み合わせ

Aベストアンサー

数をすべて10倍して考えると分かりやすいでしょう。2,3,5,6,7,8を1回ずつ使って2桁の整数を2個作ったとき、その2数の積が100の倍数となる組み合わせを求めればよいことになります

100=2×2×5×5なので、
100の倍数となるためには2数の積に5が少なくとも2回登場しなければなりませんが、使える数字には5がひとつしかないため片方を25(=5×5)、または75(=5×5×3)にせざるを得ません。このとき残りの4つの数字のうち2つを1回ずつ使って4(=2×2)の倍数を作ればよいわけです。


片方が25のとき、もう一方の数は36、68、76
片方が75のとき、もう一方の数は28、32、36、68 

Q整数部分、小数部分

(問題)
1/√2-1の整数部分をa、少数部分をbとするとき
a^2+b^2+2bの値を求める。
(答え)


下記の通り計算しました。
整数部分から求める。
√2+1/(√2-1)(√2+1)=√2+1
√2=1.4142・・・なので、1.4+1=2.4≒2
整数部分a=2としました。
小数部分はもとの数から整数部分を引くということで
b=[1/√2-1]-2としました。
それをa^2+b^2+2bへ代入してみたのですが、答えが5になりません。
整数部分、小数部分という言葉から忘れていたので、途中の計算もこれで合っているかどうかも自信がありません。
本を見ても解らないので、教えていただけないでしょうか?宜しくお願い致します。

Aベストアンサー

小数部分はそれで間違いありません。せっかく計算・有理化したのですから使いましょう。
a+b=√2+1と計算されているのですから、
b=(√2+1)-2=√2-1です。
よってa^2+b^2+2b=a^2+b(b+2)
=2^2+(√2-1)(√2-1+2)
=2^2+(√2-1)(√2+1)
=4+(√2)^2-1^2
=4+2-1=5
で問題ありません。

Q無理数の整数部分、小数部分

(√5+1)/(√5-1)の整数部分をa、小数部分をbとするとき、
a,bの値を求めよ。

という問題の
解き方がわかりません。

有利化をして、(3+√5)/2

ここから先の解きかたを
おねがいします!

Aベストアンサー

2^2=4、3^2=9なので 2<√5<3
(3+2)/2<(3+√5)/2<(3+3)/2
つまり 2.5<(3+√5)/2<3
もうあとは分かりますね。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報